在@Formula注释中使用保留字

时间:2016-06-07 15:23:51

标签: java spring hibernate

我想将字符串列强制转换为Integer。

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

但Hibernate将UNSIGNED字视为account0_.UNSIGNED。 任何建议如何防止这种情况。

我已经完成了以下回答。 Hibernate @formula is not supportinng Cast() as int for teradata database

但有人可以解释一下你在spring配置中使用这个扩展的Oracle10gDialect的位置。

1 个答案:

答案 0 :(得分:1)

可以使用hibernate.dialect

hibernateProperties属性设置

LocalSessionFactoryBean

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

适用于Hibernate 5,因为使用包org.springframework.orm.hibernate5.LocalSessionFactoryBean,对于Hibernate 4,您需要使用org.springframework.orm.hibernate4.LocalSessionFactoryBean