Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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 Cent OS:Hibernate Envers错误REVINFO表不';不存在,但revinfo存在_Java_Mysql_Hibernate_Centos - Fatal编程技术网

Java Cent OS:Hibernate Envers错误REVINFO表不';不存在,但revinfo存在

Java Cent OS:Hibernate Envers错误REVINFO表不';不存在,但revinfo存在,java,mysql,hibernate,centos,Java,Mysql,Hibernate,Centos,在本地和我们以前的两个不同的服务器上,以小写字母表示的revinfo正常工作,但我有一个新服务器不工作,因为错误revinfo不存在 以前的服务器配置: OS : Cent OS 6.5 mysql : 5.5.40 hibernate jar: 4.1.7final jdk 1.7 OS : Cent OS 6.5 mysql : 5.5.40 hibernate jar: 4.1.7final jdk 1.7 当前服务器配置: OS : Cent OS 6.5 mysql : 5.5.4

在本地和我们以前的两个不同的服务器上,以小写字母表示的revinfo正常工作,但我有一个新服务器不工作,因为错误revinfo不存在

以前的服务器配置:

OS : Cent OS 6.5
mysql : 5.5.40
hibernate jar: 4.1.7final
jdk 1.7
OS : Cent OS 6.5
mysql : 5.5.40
hibernate jar: 4.1.7final
jdk 1.7
当前服务器配置:

OS : Cent OS 6.5
mysql : 5.5.40
hibernate jar: 4.1.7final
jdk 1.7
OS : Cent OS 6.5
mysql : 5.5.40
hibernate jar: 4.1.7final
jdk 1.7
本地的

Os : windows
mysql : 5.5.40
hibernate jar: 4.1.7final
jdk 1.7
两个.war文件都是相同的

applicationContext.xml

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/testdb_trunk" />
        <property name="username" value="root" />
        <property name="password" value="root" />
        <property name="minIdle" value="10" />
        <property name="initialSize" value="10" />
        <property name="validationQuery" value="SELECT 1 FROM DUAL"/>
    </bean>

    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan" value="in.demo.server.datamodel" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.hbm2ddl.auto">false</prop>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            </props>
        </property>
    </bean>

错误的
org.hibernate.dialogue.mysqldialogue

提前感谢

您必须尝试为您的hibernate属性提供一些附加属性
hibernate.ejb.naming_策略
,以使您的应用程序在不同的环境中表现相似


您可以在for
NamingStrategy
界面中阅读相关内容。它还有一些可用的实现:而且,您可以选择其中之一。或者您可以创建自己的实现。

windows mysql默认不区分大小写,因此我添加了

lower_case_table_names = 1

/etc/mysql/my.cnfcent OS的文件


请参阅更多详细信息

我没有在我的applicationContext中设置hibernate.ejb.naming_策略属性。xml@VishnuKatpure是的,你没有。但是,如果不提供此属性,不同操作系统下的hibernate可能会有不同的行为。看看这个问题,例如,正如我提到的os,mysql版本在以前和当前服务器上是相同的,通过做补丁工作将表revinfo重命名为revinfo;工作correctly@VishnuKatpure如果您的环境都是相同的,那么您从未遇到过这种异常。操作系统特有的行为只是一个例子。任何东西都可能导致这种情况,可能是Java版本,可能是应用程序版本或其他。要防止这种情况,必须设置命名策略。