Hibernate和jdbc事务原理
菜鸟就是菜鸟,不遇到问题还发现不了自己错在哪了...........
之前一直以为 加事务是为了出错时候事务回滚,没发现hibernate的事务不仅仅是回滚,还要事务的提交 !!并且在项目中一般是只有一层事务的,就是指的你程序的那一层控制。仔细搜了下原来如此:
在Hibernate中, Session打开的时候,就会自动conn.setAutoCommit(false),不像一般的JDBC,默认都是true,所以你最后不写 commit也没有关系,由于Hibernate已经把AutoCommit给关掉了,所以用Hibernate的时候,你在程序中不写Transaction的话,数据库根本就没有反应。
conn.setAutoCommit(false) 这个方法中的参数如下:
true:sql命令的提交(commit)由驱动程序负责;false:sql命令的提交由应用程序负责,程序必须调用commit或者rollback方法
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。