关于Hibernate能够输出建表语句,但是数据库中不存在表的问题

时间:2021-07-30 16:26:49

         最近在看SSH整合方面的书和视屏,下午的时候自己写了一个Demo,在进行单元测试的时候,运行程序,Hibernate建表语句输出正常,回到MySQL中查询数据库时,却发现没有相关的表。

        在Google之后,一些答主说可能是列名与MySQL关键字冲突了,于是就开始对照MySQL的关键字表对照,发现并没有任何问题。然后查看MySQL的日志,也没有什么异常。又写了一个测试,发现能够成功的建表。

       看了一集电影之后,闲的无聊把数据库方言改了试一试,成功了,我也是醉了。

      解决办法:

                        1、检查实体类的属性名称,看是否和MySQL关键字冲突

  •             2、检查setter//getter方法,看是否有例如boolean属性的getter方法为isXXX
  •             3、将数据库方言改为:,org.hibernate.dialect.MySQLDialect,MySQL5.5版本以后就不能用org.hibernate.dialect.MySQLInnoDBDialect方言来实现自动建表了。