在项目的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就可以自动来创建数据库表了。

参考文章:https://www.cnblogs.com/zzsaf/p/6902559.html

Logo

快速构建 Web 应用程序

更多推荐