我是jsf 2.0 spring 3.1和hibernate 4.1集成的新手。我如何更改以下代码,因为hibernate 4.0不包含HibernateDaoSupport。
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class CustomerDaoImpl extends HibernateDaoSupport implements CustomerDao{ public void addCustomer(Customer customer){ customer.setCreatedDate(new Date()); getHibernateTemplate().save(customer); } public List<Customer> findAllCustomer(){ return getHibernateTemplate().find("from Customer"); } }
我正在尝试此示例:http : //www.mkyong.com/jsf2/jsf-2-0-spring-hibernate- integration-example/
我找到了解决方案。我应该改用会话工厂。
import java.util.List; import org.hibernate.SessionFactory; public class CustomerDaoImpl implements CustomerDao{ private SessionFactory sessionFactory; public SessionFactory getSessionFactory() { return sessionFactory;} public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public void addCustomer(Customer customer){ getSessionFactory().getCurrentSession().save(customer); } public List<Customer> findAllCustomer(){ List list = getSessionFactory().getCurrentSession().createQuery("from Customer").list(); return list; } }