package com.bandstand.domain; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.orm.hibernate3.SessionFactoryUtils; import org.springframework.orm.hibernate3.support.OpenSessionInViewFilter; /** * * @author brad */ public class SessionManager { private static ThreadLocal<Session> tlSession = new ThreadLocal<Session>(); public static Session session() { return SessionFactoryUtils.getSession(sessionFactory, false); } private static SessionFactory sessionFactory; public SessionManager(SessionFactory sf) { sessionFactory = sf; } public Session open() { Session session = SessionFactoryUtils.getSession(sessionFactory, true); tlSession.set(session); return session; } public void close() { Session s = session(); if( s != null ) { SessionFactoryUtils.closeSession(s); } tlSession.remove(); } }