怎么直接使用Hibernate
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"怎么直接使用Hibernate",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"怎么直接使用Hibernate"这篇文章吧。在直接使
千家信息网最后更新 2026年11月01日怎么直接使用Hibernate
这篇文章主要为大家展示了"怎么直接使用Hibernate",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"怎么直接使用Hibernate"这篇文章吧。
在直接使用Hibernate时,要在事务结束的时候,写上一句:tx.commit(),这个commit()的源码为:
public void commit() throws HibernateException { if (!begun) { throw new TransactionException("Transaction not successfully started"); } log.debug("commit"); if (!transactionContext.isFlushModeNever() && callback) { transactionContext.managedFlush(); // if an exception occurs during // flush, user must call // rollback() } notifyLocalSynchsBeforeTransactionCompletion(); if (callback) { jdbcContext.beforeTransactionCompletion(this); } try { commitAndResetAutoCommit();//重点代码,它的作用是提交事务,并把connection的autocommit属性恢复为true log.debug("committed JDBC Connection"); committed = true; if (callback) { jdbcContext.afterTransactionCompletion(true, this); } notifyLocalSynchsAfterTransactionCompletion(Status.STATUS_COMMITTED); } catch (SQLException e) { log.error("JDBC commit failed", e); commitFailed = true; if (callback) { jdbcContext.afterTransactionCompletion(false, this); } notifyLocalSynchsAfterTransactionCompletion(Status.STATUS_UNKNOWN); throw new TransactionException("JDBC commit failed", e); } finally { closeIfRequired(); } }上面代码中,commitAndResetAutoCommit()方法的源码如下:
private void commitAndResetAutoCommit() throws SQLException { try { jdbcContext.connection().commit(); //这段不用说也能理解了 } finally { toggleAutoCommit(); //这段的作用是恢复connection的autocommit属性为true } }上述代码的toggleAutoCommit()源代码如下:
private void toggleAutoCommit() { try { if (toggleAutoCommit) { log.debug("re-enabling autocommit"); jdbcContext.connection().setAutoCommit(true); //这行代码的意义很明白了吧 } } catch (Exception sqle) { log.error("Could not toggle autocommit", sqle); } }因此,如果你是直接使用Hibernate,并手动管理它的session,并手动开启事务关闭事务的话,完全可以保证你的事务(好像完全是废话)。
以上是"怎么直接使用Hibernate"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
事务
代码
内容
篇文章
作用
属性
手动
源码
学习
帮助
不用
不用说
废话
意义
方法
时候
易懂
更多
条理
源代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
互联网科技图片
深圳市人人互联网科技有限公司
科技互联网项目
互联网科技财经
互联网科技公司官网
朗涯互联网科技
深圳市运趣互联网科技有限公司
厦门千工互联网科技有限公司
晓花互联网科技有限公司网址
搜狐科技互联网
坤平互联网科技
玉溪新华互联网科技好不好
广州富喜互联网络科技
启辰互联网科技
江苏互联网智能科技软件
上海乐五互联网科技有限公司
抖集互联网科技技术咨询
中国科技和美国互联网
上海互联网科技园景观
咖啡网
重生之互联网科技帝国
互联网科技排名
深圳卡尔迅互联网科技有限公司怎么样
隆华科技工业互联网
科技互联网的估值
雨阳互联网卡科技有限公司
江苏互联网智能科技软件
西安有哪些互联网高科技企业
知域互联网科技有限公司官网