org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Table 'XXX' doesn't exist
在项目的hibernate.cfg.xml中,我配置好xml后让hibernate自动在mysql建表<property name="hibernate.hbm2ddl.auto">update</property> 可是,运行的时候报错“org.hibernate.engine.jdbc.spi.SqlExcept
·
在项目的hibernate.cfg.xml中,我配置好xml后让hibernate自动在mysql建表
<property name="hibernate.hbm2ddl.auto">update</property>
可是,运行的时候报错“org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Table ‘XXX’ doesn’t exist”。可见,hibernate并没有帮我们自动创建数据库表文件。于是我手动在数据库中创建表,然后在跑一次程序,果然没有问题了。
原因分析:
数据库方言配置出现问题了,我们需要配置更高版本的数据库方言,具体如下:
hibernate-5.0.7中使用的方言
<!-- 配置数据库方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
Hibernate-5.2.10 使用的方言需要升级
解决办法:
在hibernate.cfg.xml中配置 SQL dialect方言。支持mysql高版本的建表。将
<!-- 配置数据库方言 -->
<!--<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
这样,hibernate就可以自动来创建数据库表了。
更多推荐
已为社区贡献1条内容
所有评论(0)