hibernate中的日志包
hibernate中日志包一般有三个(括号中为自用):
1、slf4j-api-1.6.1.jar
2、slf4j-log4j12-1.7.25.jar
3、log4j-1.2.17.jar
其中slf4j-log4j12-1.7.25.jar起到slf4j和log4j的桥梁作用。有说只需要slf4j-api.jar就可以完成日志功能,但是我单独使用时就会报错,缺少log4j。
hibernate中默认事务开启的问题
hibernate中如果不在hibernate.cfg.xml中配置自动提交事务的话,默认情况下不会自动提交事务。如果在xxx.hbm.xml中配置了主键及自增规则为native时,这时会产生一个问题:当运行将数据存入数据库的操作时,数据并没有提交,但是数据表中的主键已经自增,另行查询数据时数据表中无数据。通过正常手段向数据表中写入数据后,主键数例如id 为已经自增过的数值。
问题就出在是否自动提交数据的配置上。如果没有配置过自动提交,则在java源码中一定要先手动开启事务,写入数据,再手动提交。