Hibernate自动建表失败原因总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate自动建表失败原因总结相关的知识,希望对你有一定的参考价值。
1、数据库方言配置,根据不同数据库版本,以及使用的数据库,选择合适的方言
<property name="hibernate.dialect">org.hibernate.dialect.mysqlDialect</property>
2、配置文件中使用了create-drop属性,数据库表其实已经创建,只是又被删除了:
<property name="hbm2ddl.auto">create-drop</property> 只要把create-drop替换为create或update即可
3、默认的数据库类型错误。
把mysql中my.ini文件中配置的 MyISAM 变成 INNODB,代码如下:
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
4、如果在spring里面集成hibernate3,配置文件中每行的末尾一定不能有空格
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect//注意这些地方没有空格
hibernate.hbm2ddl.auto=update//注意这些地方没有空格
hibernate.show_sql=false//注意这些地方没有空格
hibernate.format_sql=false//注意这些地方没有空格
</value>
</property>
5、hbm实体类配置文件中定义的元素含有sql的关键字
例如: <property name="name"></property>
<property name="birthday"></property>
<property name="from"></property> 代码中含有"from"关键字.
以上是关于Hibernate自动建表失败原因总结的主要内容,如果未能解决你的问题,请参考以下文章
Hiberntate不能自动建表的问题:hibernate.(*)
hibernate不能自动建表:MySQLSyntaxErrorException: Table '' doesn't exist