HIbernateAPI -Session与sessionFactory接口及Session对象的获取方式

来源:互联网 发布:华族经典 知乎 编辑:程序博客网 时间:2024/06/03 08:00
HIbernateAPI-Session接口


sessionFactory接口
sessionFactory对象特点:

重量级,单例的,线程安全的

由于是重量级,线程安全的,所有我们的使用原则:是用单例的,且不要手动关闭该对象


session接口:
session对象
轻量级的,线程不安全的,多例的

轻量级的,线程不安全的,所有我们把它做成多例模式的。使用完毕后,立即关闭


session对象的获取/生成的方式

方式1: sessionFactory.openSession();每执行一次openSession();就会重新创建一个session
方式2 : sessionFactory.getCurrentSession();


详解方式一:

Session session1 = sessionFactory.openSession();

Session session2 = sessionFactory.openSession();

session1与session2是不相等的。所以我们不用该方法

每执行一次该方法openSession(),获取到的都是一个新的session对象

必须手工关闭session对象,无须注册,查询可以不在事务内执行



详解方式二:推荐使用

Session session1 = sessionFactory.getCurrentSession();
Session session2 = sessionFactory.getCurrentSession();

session1与session2是相等的。所以我们一般用该方法进行会话

无论执行多少次该方法,只要是在同一线程中,获取的都是同一个session对象,自动关闭Session

无须手动关闭,需要注册session的运行环境,查询必须在事务内执行



HibernateAPI-Transaction接口:


//4.开启事务

session.beginTransa();



阅读全文
0 0
原创粉丝点击