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