2017-03-13 15 views
0

Hibernate는 TABLE_PER_CLASS 상속을위한 임시 테이블을 생성하지만 prod. 오라클 사용자에게는 테이블 생성 권한이 없으므로이 접근법은 우리 프로젝트에 대한 옵션이 아닙니다.봄 부팅 응용 프로그램에서 최대 절전 모드 bulk_id_strategy 설정하는 방법?

Hibernate 버전 5.2.8은이 문제를 해결한다고합니다. pom.xml을 업데이트하여 기본 시작 동면 버전 설정을 무시했습니다.

아직도 우리는 다음과 같은 속성을 가지고 행운이 없습니다.

을 다음과 같이

<property name="hibernate.hql.bulk_id_strategy" 
value="org.hibernate.hql.spi.id.inline.InlineIdsInClauseBulkIdStrategy" 
    /> 

응용 프로그램 속성도 업데이트됩니다 **

spring.datasource.driver-class-name=oracle.jdbc.OracleDriver 
spring.datasource.url=jdbc:oracle:thin:@192.168.1. :1521: 
spring.datasource.username= 
spring.datasource.password= 
spring.jpa.hibernate.ddl-auto=none 
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect 
spring.jpa.show-sql=true 
spring.jpa.hibernate.hql.bulk_id_strategy=org.hibernate.hql.spi.id.inline.InlineIdsInClauseBulkIdStrategy 

**

어디 스프링 부팅 응용 프로그램에서이 설정의 적절한 위치?

컨테이너가 여전히 테스트 환경에서 임시 테이블을 생성 중입니다. 서버 시작.

종류는

http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0

을 다음과 같이

의 pom.xml은 간주 또한

<groupId>x.xx.ortakonline</groupId> <artifactId>PolsanOrtakOnlineServer</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.0.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <jjwt.version>0.7.0</jjwt.version> <hibernate.version>5.2.8.Final</hibernate.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.4.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope> test </scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.7.0</version> </dependency> <dependency> <groupId>org.springframework.mobile</groupId> <artifactId>spring-mobile-device</artifactId> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-jpamodelgen</artifactId> </dependency> </dependencies> 

+0

RDBMS 오라클 11gR2 – desperado06

+1

'spring.jpa.properties을해야 당신의 application.properties에 다음을 추가. <부동산 - 이름 - 여기가> '올바른 형식 (누락 된'properties' 통지는 귀하의 구성에 부분. 또한 귀하의 pom에 속성을 추가 기본적으로 아무것도 할 것입니다. –

+0

이것은 나를 위해 트릭을했다. 당신이 원한다면 당신은 대답으로 이것을 게시 할 수 있습니다. – desperado06

답변

1

spring.jpa.properties.* 모든 특성은 통과되어 로컬 EntityManagerFactory이 생성 될 때 일반 JPA 등록 정보 (접두사가 제거 된 상태)로 처리됩니다.

이것은 Spring Boot 레퍼런스 가이드의 the JPA section에서 비롯되었으며, 간단히 말해 추가 공급자 별 속성을 전달하는 방법을 설명합니다.

하여 트릭을

spring.jpa.properties.hibernate.hql.bulk_id_strategy=org.hibernate.hql.spi.id.inline.InlineIdsInClauseBulkIdStrategy