将:<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
修改为:<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
原因: 方言的设定是由数据库的版本决定。如果MySql数据库engine=InnoDB,即本身支持事务。那么,hibernate设定的时候就无需再指定了。如果指定,就会发生错误。
如果Mysql数据库的设定是不支持事务的话,那么指定方言: org.hibernate.dialect.MySQL5InnoDBDialect 后 hibernate就会自动创建支持事务的表。