Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences

Edit this page


Referenced by
AppFuseSupport




JSPWiki v2.2.33

[RSS]


Hide Menu

GettingHibernateSession


  • How do I get hold of the Hibernate session in my DAO?
The DAO layer has the Hibernate sessionFactory injected (made available) to it through Spring and this entry in applicationContext-hibernate.xml:
<property name="sessionFactory"><ref local="sessionFactory"/></property> 

So to access the Hibernate session from within your DAO, place a method like this in your DAO:


    	Session session = SessionFactoryUtils.getSession(getSessionFactory(), false);

  • How do I get hold of the Hibernate session in my View code?
To get hold of the Session in the view code, you need to lookup the SessionFactory defined in the applicationContext-hibernate.xml:
    private void createApplicationContext() {
        if (ctx == null) {
            ctx =    
          WebApplicationContextUtils.getRequiredWebApplicationContext(servlet.getServletContext());
        }
    }

    public net.sf.hibernate.Session getCurrentHibernateSession() {
    	createApplicationContext();
    	
        SessionFactory sessionFactory = (SessionFactory)ctx.getBean("sessionFactory");
        SessionHolder sessionHolder = (SessionHolder)TransactionSynchronizationManager.getResource(sessionFactory);
        net.sf.hibernate.Session currentSession = null;
        Transaction currentTransaction = null;
        
        if (sessionHolder!=null) {
           currentSession = sessionHolder.getSession();
           currentTransaction = sessionHolder.getTransaction();
        }         
        return currentSession;
    }



Go to top   Edit this page   More info...   Attach file...
This page last changed on 06-Nov-2006 13:52:59 MST by BenGill.