iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Hibernate Callback怎么使用
  • 209
分享到

Hibernate Callback怎么使用

2023-06-17 21:06:09 209人浏览 薄情痞子
摘要

这篇文章主要讲解了“Hibernate Callback怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate Callback怎么使用”吧!目的:使用HibernateT

这篇文章主要讲解了“Hibernate Callback怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate Callback怎么使用”吧!

目的:使用HibernateTemplate执行execute(new Hibernate Callback())方法,从Hibernate Callback中得到session,在此session中做多个操作,并希望这些操作位于同一个事务中。

如果你这样写:

public static void main(String ss[]) {  CtxUtil.getBaseManager().getHibernateTemplate().execute(new HibernateCallback() {  public Object doInHibernate(Session session) throws HibernateException, sqlException {  // 保存stu1  Student stu1 = new Student();  stu1.setName("aaaa");// 在数据库中,name字段不允许为null  session.save(stu1);  session.flush();  //实际上,如果不是程序员"手痒"来调用这个flush(),HibernateTemplate中session的事务处理还是很方便的   Student stu2 = new Student();  session.save(stu2);  // 没有设置name字段,预期会报出例外  session.flush();  return null;  }  }}

你期望spring在执行完execute回调后,在关闭session的时候提交事务,想法是很好的,但spring并不会这么做。让我们来看看在Hibernate的源代码中,session.beginTransation()做了什么事。看如下代码:

public Transaction beginTransaction() throws HibernateException {  errorIfClosed();  if ( rootSession != null ) {  // todo : should seriously consider not allowing a txn to begin from a child session  //can always route the request to the root session  log.warn( "Transaction started on non-root session" );  }  Transaction result = getTransaction();  result.begin();  return result;  }

这个方法中的result是一个org.hibernate.transaction.JDBCTransaction实例,而方法中的getTransaction()方法源代码为:

  1. public Transaction getTransaction() throws HibernateException {  

  2. if (hibernateTransaction==null) {  

  3. log.error(owner.getFactory().getSettings().getTransactionFactory().getClass());  

  4. hibernateTransaction = owner.getFactory().getSettings().
    getTransactionFactory().createTransaction( this, owner );  

  5. }  

  6. return hibernateTransaction;  

再次追踪,owner.getFactory()。getSettings() .getTransactionFactory()的createTransaction()方法源代码如下:

  1. public Transaction createTransaction
    (JDBCContext jdbcContext, Context transactionContext)  

  2. throws HibernateException {  

  3. return new JDBCTransaction( jdbcContext, transactionContext );  

它返回了一个JDBCTransaction,没什么特别的。以上介绍Hibernate Callback方法。

感谢各位的阅读,以上就是“Hibernate Callback怎么使用”的内容了,经过本文的学习后,相信大家对Hibernate Callback怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Hibernate Callback怎么使用

本文链接: https://www.lsjlt.com/news/293334.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Hibernate Callback怎么使用
    这篇文章主要讲解了“Hibernate Callback怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate Callback怎么使用”吧!目的:使用HibernateT...
    99+
    2023-06-17
  • Hibernate怎么使用
    Hibernate是一个开源的对象关系映射框架,用于将Java对象与数据库之间进行映射和交互。下面是使用Hibernate的基本步骤...
    99+
    2023-09-16
    Hibernate
  • PHP怎么使用Callback/Callable类型
    这篇文章主要介绍PHP怎么使用Callback/Callable类型,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP Callback/Callable 类型使用测试代码<phpclass Par...
    99+
    2023-06-15
  • Hibernate schema怎么使用
    本篇内容介绍了“Hibernate schema怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Hibernate schema如果你...
    99+
    2023-06-17
  • Hibernate Util怎么使用
    这篇文章主要讲解了“Hibernate Util怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate Util怎么使用”吧!Hibernate提供了许多不同的方式来配置该...
    99+
    2023-06-17
  • Hibernate Sequence怎么使用
    这篇文章主要讲解了“Hibernate Sequence怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate Sequence怎么使用”吧!一、为表创建自增长自段有两种一...
    99+
    2023-06-17
  • spring中hibernate怎么使用
    本篇内容主要讲解“spring中hibernate怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spring中hibernate怎么使用”吧!  首先需要配置数据源,通常我们有两种方式获...
    99+
    2023-06-03
  • 怎么使用Hibernate代码
    这篇文章给大家分享的是有关怎么使用Hibernate代码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hibernate是JDBC的升级版,专用连接数据库。它比JDBC简单使用,不需要输入很多的连接数据库代码。提...
    99+
    2023-06-17
  • 怎么直接使用Hibernate
    这篇文章主要为大家展示了“怎么直接使用Hibernate”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么直接使用Hibernate”这篇文章吧。在直接使用Hibernate时,要在事务结束的时...
    99+
    2023-06-17
  • Hibernate DAO类怎么使用
    这篇文章主要讲解了“Hibernate DAO类怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate DAO类怎么使用”吧!在Struts分页有两种结构: 在Action...
    99+
    2023-06-17
  • Hibernate jar包怎么使用
    这篇文章主要介绍“Hibernate jar包怎么使用”,在日常操作中,相信很多人在Hibernate jar包怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate jar包怎么使用”的疑...
    99+
    2023-06-17
  • Java Hibernate使用方法怎么使用
    今天小编给大家分享一下Java Hibernate使用方法怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。J...
    99+
    2023-07-05
  • c语言callback回调函数怎么使用
    在C语言中,回调函数(callback)是一种函数指针,可以作为参数传递给其他函数,这样在调用该函数时,可以执行传递的回调函数。下面...
    99+
    2023-10-18
    c语言
  • Hibernate一级缓存怎么使用
    这篇文章主要介绍“Hibernate一级缓存怎么使用”,在日常操作中,相信很多人在Hibernate一级缓存怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate一级缓存怎么使用”的疑惑有所...
    99+
    2023-06-17
  • Hibernate查询语言怎么使用
    这篇文章主要介绍“Hibernate查询语言怎么使用”,在日常操作中,相信很多人在Hibernate查询语言怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate查询语言怎么使用”的疑惑有所...
    99+
    2023-06-17
  • Hibernate中cascade和inverse怎么使用
    这篇文章主要讲解了“Hibernate中cascade和inverse怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate中cascade和inverse怎么使用”吧!1...
    99+
    2023-06-17
  • hibernate框架怎么搭建和使用
    搭建和使用Hibernate框架可以按照以下步骤进行: 添加Hibernate依赖:在项目的构建文件中(如Maven的pom.x...
    99+
    2023-10-23
    hibernate
  • java中Callback简单使用总结
    1、什么是Callback,什么时候需要使用Callbackcallback是回调的意思,一般我们需要2个类需要相互掉用,一个类把数据动态传递给另外一个类的时候,可以用这种方式,比如Android里面的Launcher类和LauncherM...
    99+
    2023-05-31
    java callback ava
  • hibernate的orphanRemoval使用问题怎么解决
    在使用 Hibernate 的 orphanRemoval 属性时,可能会遇到一些问题。下面是一些常见问题的解决方法:1. 单向关联...
    99+
    2023-09-12
    hibernate
  • Hibernate如何使用
    这篇文章主要介绍Hibernate如何使用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!  hibernate的来源  数据在各个层次之间流转,在流转过程中会发生数据类型转换等一系列...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作