源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

SSH整合中 hibernate托管给Spring得到SessionFactory

  • 时间:2020-11-17 21:58 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:SSH整合中 hibernate托管给Spring得到SessionFactory
<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();
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部