在标准的webapp中是否有过将一个EntityManager或Session作为参数传递给DAO调用的情况,即findPersonByName(String name, Session session)
?或者是否应该在实施过程中抽象会议的开幕式和闭幕式?
更好的方法是初始化或以其他方式注入DAO SessionFactory
.然后你可以做这样的事情:
public abstract class AbstractHibernateDaoimplements AbstractDao { private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } protected Session getSession() { return sessionFactory.getCurrentSession(); } public void save(T t) { getSession().save(t); } public void update(T t) { getSession().update(t); } ... }
无需Session
遍布整个地方.