加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 教程 > 正文

Hibernate中两种获取Session的途径

发布时间:2021-11-22 10:03:33 所属栏目:教程 来源:互联网
导读:Session:是应用程序与数据库之间的一个会话,是Hibernate运作的中心,持久层操作的基础.对象的生命周期/事务的管理/数据库的存取都与Session息息相关. Session对象是通过SessionFactory构建的,下面举个例子来介绍Hibernate两种获取session的方式。 日志,是编程
Session:是应用程序与数据库之间的一个会话,是Hibernate运作的中心,持久层操作的基础.对象的生命周期/事务的管理/数据库的存取都与Session息息相关.
 
Session对象是通过SessionFactory构建的,下面举个例子来介绍Hibernate两种获取session的方式。
 
日志,是编程中很常见的一个关注点.用户在对数据库进行操作的过程需要将这一系列操作记录,以便跟踪数据库的动态.那么一个用户在向数据库插入一条记录的时候,就要向日志文件中记录一条记录,用户的一系列操作都要在一个Session中进行,否则这就成为了两个线程.不能保证同步.看下面的代码
 
HibernateUtil管理Session的工具类
 
package com.bjpowernode.usermgr.util;
 
import org.hibernate.Session;//hibernate3的
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
 
public class HibernateUtils {
  private static SessionFactory factory;
 
  static{
        try{
        //读取hibernate.cfg.xml文件
    Configuration cfg=new Configuration().configure();
         
    //建立SessionFactory
      factory=cfg.buildSessionFactory();
 
        }catch(Exception e){
      e.printStackTrace();
        }
  }
 
      //获得开启着的Session
  public static Session getSession(){
    return factory.openSession();
  }
 
      //关闭Session
  public static void closeSession(Session session){
    if(session!=null){
    if(session.isOpen()){
      session.close();
    }
    }
  }
 
  public static SessionFactory getSessionFactory(){
    return factory;
  }
}

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读