2016-06-07 4 views
0

문자열 열을 Integer로 캐스팅하려고합니다.@Formula annotation의 예약어 사용

@Formula("CAST(pContactNumber as UNSIGNED)") 
    private Integer contactNumber; 

그러나 최대 절전 모드 취급 account0_.UNSIGNEDUNSIGNED 단어. 이 문제를 방지하는 방법에 대한 제안.

다음 답변을 거쳤습니다. Hibernate @formula is not supportinng Cast() as int for teradata database

그러나 스프링 구성에서이 확장 된 Oracle10gDialect를 사용하는 위치를 설명 할 수 있습니까? 당신이 org.springframework.orm.hibernate4.LocalSessionFactoryBean를 사용할 필요가 최대 절전 모드 4 패키지 org.springframework.orm.hibernate5.LocalSessionFactoryBean를 사용하기 때문에

+1

Spring이 아닌 경우, 생성 된'Oracle10gDialectExtended' (또는 사용중인 확장자)에'hibernate.dialect '를 재 할당해야합니다. 'hibernate.cfg.xml' 파일에서 방언을 변경할 수 있습니다 .... –

+1

@JordiCastilla Spring 환경 설정을 사용하여'hibernateProperties'를'LocalSessionFactoryBean'으로 설정할 수 있습니다. –

+0

@ v.ladynev이 제안을 답으로 써서 투표 할 수 있습니까? –

답변

1

hibernate.dialectLocalSessionFactoryBean

<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> 
    <property name="hibernateProperties"> 
     <props> 
     <prop key="hibernate.dialect">com.example.CustomOracle10gDialect</prop> 
     </props> 
    </property> 
    </bean> 

최대 절전 모드로 5 인의 hibernateProperties 속성을 사용하여 설정할 수 있습니다.