教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Hibernate框架入门之Session接口

更新时间:2024年01月19日11时05分 来源:传智教育 浏览次数:

好口碑IT培训

  Session是Java应用程序和Hibernate进行交互时所使用的主要接口,是持久化操作的核心API。它主要用于读取、创建和删除映射对象的实例,这一系列的操作将被转换为数据表中的增加、修改、查询和删除操作。Session是轻量级的,实例的创建和销毁不需要消耗太多的资源,同时它还是Hibernate的一级缓存,这个缓存主要用于存放当前工作单元加载的对象。

  获取Session实例有两种方式,一种是通过openSession()方法,另一种是通过getCurrentSession()方法。两种方法获取Session的代码如下所示:

  以上两种获取Session实例的主要区别是:采用openSession()方法获取Session实例时,SessionFactory直接创建一个新的Session实例,并且在使用完成后需要调用close()方法进行手动关闭;而getCurrentSession()方法创建的Session实例会被绑定到当前线程中,它在提交或回滚操作时会自动关闭。

  在Session中,提供了多个持久化的操作方法,其常用方法如表23-8所示。

  表23-8 Session中的常用方法

Session中的常用方法

  需要注意的是,Session是线程不安全的,当多个并发线程同时操作一个Session实例时,就可能导致Session数据存取的混乱(当方法内部定义和使用Session时,不会出现线程问题)。因此设计软件架构时,应避免多个线程共享一个Session实例。

0 分享到:
和我们在线交谈!