spring集成hibernate(控制台打印日志)数据库不自动建表

网上有很多说法:

1、实体属性跟数据库中的关键字冲突。

2、检查setter//getter方法,看是否有例如boolean属性的getter方法为isXXX

还有一大堆。。。

但是这些貌似都没有卵用。。。

下面来说一下我的解决办法:

将hibernate数据库方言:

<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

改为:

<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>

控制台日志区别:

修改前:

修改后:

 由此数据库建表成功。

原理:

TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句 ,(老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM)。 MySQL 5.1为向下兼容而支持这个语法,但TYPE现在被轻视,而ENGINE是首先的用法。 一般地,ENGINE 选项是不必要的;除非默认已经被改变了,MyISAM是默认存储引擎。

猜你喜欢

转载自blog.csdn.net/qq_39429962/article/details/82711144