读书人

hibernate官网下的管理session的例子

发布时间: 2012-10-28 09:54:44 作者: rapoo

hibernate官网上的管理session的例子

package sict.wenlong.operation;

?

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUitl {
?private static SessionFactory sessionFactory;
?static{
??try{
???sessionFactory = new Configuration().configure().buildSessionFactory();
??}catch(HibernateException ex){
???throw new RuntimeException("Configuration problem:"+ex.getMessage(),ex);
??}
?}
?
?public static final ThreadLocal session =new ThreadLocal();
?
?public static Session currentSession() throws HibernateException{
??Session s=(Session)session.get();
??//Open a new Session,if this Thread has none yet
??if(s==null){
???s=sessionFactory.openSession();
???session.set(s);
??}
??return s;
?}
?
?public static void closeSession() throws HibernateException{
??Session s=(Session)session.get();
??session.set(null);
??if(s!=null){
???s.close();
??}
?}
}
????????

读书人网 >软件架构设计

热点推荐