hibernate无法在mysql中自动建表解决办法

Hibernate连接Mysql无法自动创建表多种原因分析(Hibernate3.6)  2011-02-10 22:34 
1.错误原因:hbm文件中定义的元素含有sql的关键字,例如: <property name="name"></property>    <property name="birthday"></property>    <property name="from"></property>   代码中含有"from"关键字. 
2.错误原因:配置文件中使用了create-drop属性,数据库表其实已经创建,只是又被删除了: 
<property name="hbm2ddl.auto">create-drop</property>   只要把create-drop替换为create即可  3.错误原因:默认的数据库类型错误。  
把mysql中my.ini文件中配置的 MyISAM 变成 INNODB,代码如下: 
# The default storage engine that will be used when create new tables when    
default-storage-engine=INNODB 
4.错误原因;hbm文件中未写错,但是在myeclipse中开发的  
myeclipse不能自动识别如下语句,需要在Configuration中手动重新配置一下即可运行; 
<property name="hbm2ddl.auto">update</property> 
5.如果在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> 
注意每行结尾没有空格,不然也会造成不能自动建表的后果。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮生(FS)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值