在Hibernate+Spring项目中,如果将MySQL数据库类型设置成为Innodb类型,如果不进行特殊设置的话,就会出现数据无法插入的问题,但是在控制台上,却可以正确地打印出SQL语句。把此SQL复制到DOS下的MySQL控制台上,又可以正常插入,这是个很纳闷的问题。特别是通过DDL用工具生成Hibernate映射文件和POJO代码时(本人用的是MySQL自带的Hibernate Reverse Engineering...)
DDL代码如下:
生成的映射文件:
这些都没什么问题,而对于在之前生成的Spring配置文件或Hibernate配置文件,则有要修改和注意的地方:
首先,我用的是三方连接池,所以配置可能和自动生成的有所区别,但不外乎这几方面:
1.要注意数据库的dialect。一般为org.hibernate.dialect.MySQLMyISAMDialect或org.hibernate.dialect.MySQLDialect
这里要把它改成org.hibernate.dialect.MySQLInnoDBDialect。
2.添加一行自动提交属性的设置
3.添加测试代码,在UsersDAO类中添加以下代码: