浏览 1912 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-12
public class HibernateUtil { private static SessionFactory sessionFactory; static{ try{ sessionFactory = new Configuration().configure().buildSessionFactory(); }catch(HibernateException e){ throw new RunTimeException("Configuration problem:"+e.getMessage()); } } public static final TreadLocal session = new ThreadLocal(); public static Session currentSession() thrwos HibernateException{ Session s = (Session) session.get(); 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(null != s){ s.close(); } } } 这个是《深入浅出hibernate》中关于session管理的实现, 有些不明白。如果各位有比较好的对session管理的方法,大家都来说说。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-12
明白了一些,Tomcat会维护一个Servlet实例,而
Servle的执行是多线程的,会被多个并发请求调用, 为每个线程维护一个ThreadLocal型的session, 保证了session的在线程安全前提下的共享。 |
|
返回顶楼 | |
发表时间:2007-12-12
建议你采有事务机制
|
|
返回顶楼 | |
发表时间:2007-12-14
如果有lazy呢?
|
|
返回顶楼 | |
发表时间:2008-01-10
关注,对这个也有点不明白
|
|
返回顶楼 | |