第一天学习hibernate,就被hibernate.cfg.xml教做人了,hibernate.cfg.xml编辑好之后有一些没注意有报错:
The content of element type "session-factory" must match "(property*,mapping*,(class-cache|collection-cache)*,event*,listener*)".
测试用例一直不能执行。
原因是mapping写到了property的前面,这样是不对的,正确的写法:
所有property写在mapping前面
所有event写在listener前面
---------------------------------------------------------------------------------------------------------
还有一些其他的毛病,由于用了8+的 mysql-connector-java-8.0.11.jar 包
useSSL=false和serverTimezone=GMT要加在数据库url后面
中间要用转义字符 & 代替 & 符号
---------------------------------------------------------------------------------------------------------
property name="hibernate.hbm2ddl.auto">create</property>自动创建表的时候报错:
原因是MySQL5.0前后版本的事务引擎InnoDB配置是不同的
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
MySQL5.0+ 是MySQL5InnoDBDialect
参考https://www.cnblogs.com/johnnyzen/p/7804712.html