【 tulaoshi.com - Web开发 】
                             
                            prop key="hibernate.current_session_context_class"thread/prop 
然后 
Resource resource=new ClassPathResource("/WEB-INF/applicationContext.xml"); 
BeanFactory factory=new XmlBeanFactory(resource); 
SessionFactory sessionFactory = (SessionFactory)factory.getBean("sessionFactory"); 
就可以得到了 
剩下的 不会就回炉吧,我 的 做法是 修改HibernateUtil文件的得到SessionFactory 的方法就 什么都解决了 
import org.hibernate.HibernateException; 
import org.hibernate.Session; 
import org.hibernate.SessionFactory; 
import org.hibernate.cfg.Configuration; 
import org.springframework.beans.factory.BeanFactory; 
import org.springframework.beans.factory.xml.XmlBeanFactory; 
import org.springframework.core.io.ClassPathResource; 
import org.springframework.core.io.Resource; 
//在hibernate托管给Spring时得到sessionFactory 
public class HibernateUtil { 
private static final SessionFactory sessionFactory; 
static { 
try { 
Resource resource=new ClassPathResource("/WEB-INF/applicationContext.xml"); 
BeanFactory factory=new XmlBeanFactory(resource); 
sessionFactory = (SessionFactory)factory.getBean("sessionFactory"); 
} catch (HibernateException ex) { 
throw new RuntimeException("Exception building SessionFactory: " 
+ ex.getMessage(), ex); 
} 
} 
public static final ThreadLocal session = new ThreadLocal(); 
public static Session currentSession() throws HibernateException { 
Session s = (Session) session.get(); 
// Open a new Session, if this Thread has none yet 
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 (s != null) 
s.close(); 
} 
} 
// 
当hibernate没有托管给Spring使用这种和传统方式都可以得到啊 
sessionFactory = new Configuration().configure("/WEB-INF/hibernate.cfg.xml") 
.buildSessionFactory();