HibernateGenericDao类的方法以及作用

本文介绍了Hibernate框架中SessionFactory与Session的使用方法及区别。SessionFactory负责创建Session实例,而Session用于执行数据库操作。文章详细解释了两种创建Session实例的方式:getCurrentSession方法会将Session绑定到当前线程,并在提交或回滚时自动关闭;openSession方法则创建一个新的Session实例,需手动关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.getSession():获取session会话

public Session getSession()
    {
        try
        {
            return sessionFactory.getCurrentSession();
        }
        catch(Exception e)
        {
            return sessionFactory.openSession();
        }
    }

2.getSessionFactory():获取session会话工厂

public SessionFactory getSessionFactory()
    {
        return getSession().getSessionFactory();
    }
hibernate中SessionFactory与Session的作用
首先,SessionFactory是线程安全的,SessionFactory用到了工厂模式。

其创建和销毁需要耗费很大的资源,所以一个应用中的一个数据库一般只对应一个sessionfactory。

SessionFactory接口提供了获取session类实例的方法。

一般有两种方法创建session实例:
1、getCurrentSession方法:
采用该方法创建的session实例会绑定到当前线程当中。且session实例会在提交或回滚时自动关闭。
2、openSession方法:
采用该方法会创建新的的session实例。使用完后需进行手动关闭。
session类用于对数据库的操作。
session类是“非线程安全”的。
每执行一个数据库事务,都需要创建一个session实例,使用后还需要关闭session
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值