我正在尝试学习 spring 3 和 DAO 和 BO 类以及如何使用它进行 Autowiring ,我想知道这是连接 sessionFactory 的正确方法,因为我已经读到它更好地使用
public void save(Customer customer) {
sessionFactory.getCurrentSession().save(customer);
}
而不是
public void save(Customer customer){
getHibernateTemplate().save(customer);
}
那么下面是连接 sessionFactory 的正确方法吗?
CustomHibernateDaoSupport 类
package com.fexco.helloworld.web.util;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public abstract class CustomHibernateDaoSupport extends HibernateDaoSupport
{
@Autowired
@Qualifier("sessionFactory")
public void seSessionFactory(SessionFactory sessionFactory) {
this.setSessionFactory(sessionFactory);
}
}
CustomerDaoImpl 类
package com.fexco.helloworld.web.dao;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.fexco.helloworld.web.model.Customer;
import com.fexco.helloworld.web.util.CustomHibernateDaoSupport;
@Repository("customerDao")
public class CustomerDaoImpl extends CustomHibernateDaoSupport implements CustomerDao{
@Autowired
private SessionFactory sessionFactory;
public void save(Customer customer) {
sessionFactory.getCurrentSession().save(customer);
}
这是正确的还是我在某个地方犯了错误,因为我无法让它工作? 谢谢
最佳答案
这里解释了为什么我们不需要 Hibernate 3 的任何模板 http://blog.springsource.com/2007/06/26/so-should-you-still-use-springs-hibernatetemplate-andor-jpatemplate/
关于java - sessionFactory 的正确使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144804/