hibernate.hbm2ddl.auto为update无法自动建表

hibernate.hbm2ddl.auto的配置是为我们自动创建数据库表,具体配置在hibernate.cfg.xml文件中。hibernate.cfg.xml的配置我们可以参照官方文档来配置,当我们配置完想使用 **<property name="hibernate.hbm2ddl.auto">update</property>** 来帮我们自动创建数据库表时,会出现 Table 'hibernate.xxx' doesn't exist 问题。出现这个问题呢其实时我们的hibernate.cfg.xml文件中的ibernate.dialect配置错误。我按照官方配置的<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 一直提示我表不存在错误。后来查阅资料发现对应不同的mysql版本,Hibernate的配置不一样。我的是5.7,修改配置为<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> 就可以成功运行了。
注:MySQL5.5及以上版本:org.hibernate.dialect.MySQL5InnoDBDialect,5.5以下好像是org.hibernate.dialect.MySQLInnoDBDialect。这也是网上别人说的,具体的配置应该已Hibernate官方说明为准。

猜你喜欢

转载自blog.csdn.net/weixin_37185329/article/details/80633452