mysql - HSQLDialect 到 MySQL5InnoDBDialect、Hibernate

标签 mysql hibernate spring tomcat innodb

我在一些项目中一直使用 HSQLDialect 作为我的数据库(MySQL,大多数表为 InnoDB)的方言,并且 Hibernate 从未遇到过任何问题。

我在使用 Spring 3.1.0 和 Hibernate 3.6.9 的项目中使用 setMaxResults() 时遇到了 MySQLSyntaxErrorException ,我仍然想知道它是从哪里来的。

我的 XML 配置 servlet:

<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close">
    <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
    <property name="url" value="jdbc:mysql://localhost:3306/product" />
    <property name="username" value="root" />
    <property name="password" value="***************" />
</bean>

<bean id="mySessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="myDataSource" />
        <property name="mappingResources">
            <list>
                <value>com/social/admin/beans/DevDebugLogs.hbm.xml</value>
                <value>com/social/admin/beans/Users.hbm.xml</value>
                ...
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect"> org.hibernate.dialect.HSQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">create</prop>
            </props>
        </property>
    </bean>

    <bean name="/logs.html" class="com.social.admin.controllers.DebugManagerAdmin"> 
        <property name="sessionFactory" ref="mySessionFactory" /> 
    </bean> 

我尝试从 HSQLDialect 切换到 MySQL5InnoDBDialect,它破坏了我数据库的很大一部分,删除条目,删除表......!!!!!!!!! X)

有人可以帮我吗?

最佳答案

为避免删除表和数据,请确保将配置中的 Hibernate 切换为 update : <prop key="hibernate.hbm2ddl.auto">update</prop>

这将帮助您摆脱数据消失的问题。

切换到 MySQL5InnoDBDialect不应该造成任何重大问题。我已经在我的每个项目中使用它很长时间了。唯一可能发生的事情是,某些查询在不同的方言下运行可能不完全相同,但您将能够在运行时或测试期间检查它。

关于mysql - HSQLDialect 到 MySQL5InnoDBDialect、Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9227650/

相关文章:

MYSQL - 按顺序确定表主键

mysql - 属性映射的列数错误 :

java - 如何使用HQL从实体中获取数据?

java - 尝试更新 SQL 数据库条目时收到 SQL 语法错误。我如何弄清楚这里出了什么问题?

php - 如何存储用户的 session 数据

java - 我在@OneToMany hibernate 映射中遇到错误?

java - Oracle PreparedStatement - 一些开发人员的 NullPointerException,但不是全部

java - Spring注解缓存: CacheDecoratorFactory not configured for defaultCache

java - 如何使用 Spring 更改任何环境属性值

php - SQL 语句/php 代码来处理一本书的许多作者