/** * Configures and provides access to Hibernate sessions, tied to the * current thread of execution. Follows the Thread Local Session * pattern, see {@link http://hibernate.org/42.Html}. */ public class HibernateSessionFactory {
/** * Location of hibernate.cfg.xml file. * NOTICE: Location should be on the classpath as Hibernate uses * #resourceAsStream style lookup for its configuration file. That * is place the config file in a Java package - the default location * is the default Java package.<br><br> * Examples: <br> * <code>CONFIG_FILE_LOCATION = "/hibernate.conf.xml". * CONFIG_FILE_LOCATION = "/com/foo/bar/myhiberstuff.conf.xml".</code> */ private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";
/** Holds a single instance of Session */ private final ThreadLocal threadLocal = new ThreadLocal();
/** The single instance of hibernate configuration */ private final Configuration cfg = new Configuration();
/** The single instance of hibernate SessionFactory */ private net.sf.hibernate.SessionFactory sessionFactory;
/** * Returns the ThreadLocal Session instance. Lazy initialize * the <code>SessionFactory</code> if needed. * * @return Session * @throws HibernateException */ public Session currentSession() throws HibernateException { Session session = (Session) threadLocal.get();
/* * Created on Oct 4, 2004 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ import javax.servlet.ServletException;
/** * @author sunil * * This class will initialize hibernate and bind SessionFactory in JNDI at the * time of application and startup and unbind it from JNDI at the time of application * shutdown */ public class HibernatePlugin implements PlugIn {
public HibernatePlugin() { hsf=new HibernateSessionFactory(); }
// This method will be called at the time of application shutdown public void destroy() { System.out.println("Entering HibernatePlugIn.destroy()"); //Put hibernate cleanup code here System.out.println("Exiting HibernatePlugIn.destroy()"); }
//This method will be called at the time of application startup public void init(ActionServlet actionServlet, ModuleConfig config) throws ServletException { System.out.println("Entering HibernatePlugIn.init()"); System.out.println("Value of init parameter " + getName()); //Uncomment next two lines if you want to throw UnavailableException from your servlet // if(true) // throw new ServletException("Error configuring HibernatePlugIn"); System.out.println("Exiting HibernatePlugIn.init()"); bindFactoryToJNDI(); }
private void bindFactoryToJNDI() {
try { Context ctx = new InitialContext(); ctx.bind(this.jndi_hibernate,hsf); System.out.println("bindind the hibernate factory to JNDI successfully"); } catch (Exception e) { e.printStackTrace(); } }
public String getName() {
return name; }
public void setName(String string) { name = string; } }