Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Spring定义HibernateBean的命名策略?_Java_Database_Spring_Hibernate_Orm - Fatal编程技术网

Java 如何使用Spring定义HibernateBean的命名策略?

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

我覆盖了所有改进的NamingStrategy方法,并为它们设置了断点,但在调试模式下没有调用这些方法

我只有一个hibernate工厂,所以不可能因为其他实例而出错

我认为,问题在于键hibernate.ejb.u策略是否正确

    <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>