坑一:save方法执行后不入库
如果设置了<property name="connection.autocommit">true</property>那么执行完save后,还要执行session.flush()或者提交事务才能提交。
如果设置<property name="connection.autocommit">false</property>
那么只有提交事务,才能提交到数据库。
坑二:merge方法
等同于根据主键的saveOrUpdate()方法。更新会全部字段更新,如果第二次数据不全,会造成第一次的数据丢失不全的部分。
坑三:hbm映射文件
映射文件中有的字段如果数据库表中没有,表中会加字段。hibernate.cfg.xml中将<property name="hbm2ddl.auto">update</property>的update改为none即可禁止。
坑四:hbm映射文件
<!-- <!-- <property name="hbm2ddl.auto">update</property> --> -->会报错。
<!-- -->中不能再有字符“--”,会报错。