Java 如何使用Spring定义HibernateBean的命名策略?
我覆盖了所有改进的NamingStrategy方法,并为它们设置了断点,但在调试模式下没有调用这些方法 我只有一个hibernate工厂,所以不可能因为其他实例而出错 我认为,问题在于键hibernate.ejb.u策略是否正确Java 如何使用Spring定义HibernateBean的命名策略?,java,database,spring,hibernate,orm,Java,Database,Spring,Hibernate,Orm,我覆盖了所有改进的NamingStrategy方法,并为它们设置了断点,但在调试模式下没有调用这些方法 我只有一个hibernate工厂,所以不可能因为其他实例而出错 我认为,问题在于键hibernate.ejb.u策略是否正确 <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:sch
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
<bean id="sqlSessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.${jdbc.dialect}</prop>
<prop key="hibernate.globally_quoted_identifiers=true">true</prop>
<prop key="hibernate.enable_lazy_load_no_trans">false</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="hibernate.show_sql">{hibernate.show_sql}</prop>
<prop key="hibernate.ejb.naming_strategy">
com.stub.utilities.dao.sql.hibernate.LowerCaseNamingStrategy
</prop>
</props>
</property>
<property name="annotatedClasses"/>
</bean>
</beans>
聚甲醛
Hibernate 5没有任何改进的命名策略。它使用隐式NamingStrategy和物理NamingStrategy接口。严格地说,在Hibernate 5.1中有类改进的命名策略。但是您不能使用它来配置SessionFactory 设置隐式命名策略的示例 关于如何实现小写策略,您可以参考我的另一个答案
Hibernate 5没有任何改进的命名策略。它使用隐式NamingStrategy和物理NamingStrategy接口。严格地说,在Hibernate 5.1中有类改进的命名策略。但是您不能使用它来配置SessionFactory 设置隐式命名策略的示例 关于如何实现小写策略,您可以参考我的另一个答案
<spring.version>4.2.4.RELEASE</spring.version>
<hibernate.core.version>5.0.7.Final</hibernate.core.version>
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="implicitNamingStrategy">
<bean class="com.github.fluent.hibernate.cfg.strategy.hibernate5.Hibernate5NamingStrategy">
<property name="tablePrefix" value="spring_" />
</bean>
</property>
</bean>
<bean id="sqlSessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.implicit_naming_strategy">
com.stub.utilities.dao.sql.hibernate.ImplicitNamingStrategy
</prop>
<prop key="hibernate.physical_naming_strategy">
com.stub.utilities.dao.sql.hibernate.PhysicalNamingStrategy
</prop>
</props>
</property>
<property name="annotatedClasses"/>
</bean>
</beans>