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


Referenced by
AppFuse
AppFuse_it
AppFuse_jp
AppFuse_zh
Downloads
LeftMenu
Main
StrutsResumeSupport




JSPWiki v2.2.33

[RSS]


Hide Menu

AppFuseSupport


Difference between version 85 and version 84:

At line 110 changed 2 lines.
* 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:
* How do I get hold of the [Hibernate Session|GettingHibernateSession]?
At line 113 removed 41 lines.
{{{
<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;
}
}}}

Back to AppFuseSupport, or to the Page History.