一、所属的类:getHibernateTemplate()方法源自HibernateDaoSupport类。  

二、所属包:spring.jar和spring-orm.jar中都包含  

三、使用此方法:  

     1、继承HibernateDaoSupport类,如下:  

import org.hibernate.HibernateException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.lz.ssh.dao.UserDao;

public class UserDaoImpl extends HibernateDaoSupport implements UserDao {

    @Override
    public void saveObject(Object obj) throws HibernateException {
        this.getHibernateTemplate().save(obj); 
    }
}

    2、在dao类中定义一个HibernateTemplate类的对象,用该对象直接调用HibernateTemplate封装好的方法,如下:

import org.hibernate.HibernateException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.lz.ssh.dao.UserDao;

public class UserDaoImpl implements UserDao {
    private HibernateTemplate hibernateTemplate;
    // 设置set方法
    public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {  
        this.hibernateTemplate = hibernateTemplate;  
    }

    @Override
    public void saveObject(Object obj) throws HibernateException {
        hibernateTemplate().save(obj); 
    }
}

四、HibernateTemplate的常用方法:

1、void delete(Object entity):删除指定持久化实例

2、deleteAll(Collection entities):删除集合内全部持久化类实例  

3、find(String queryString):根据HQL查询字符串来返回实例集合 

4、findByNamedQuery(String queryName):根据命名查询返回实例集合

5、get(Class entityClass, Serializable id):根据主键加载特定持久化类的实例

6、save(Object entity):保存新的实例

7、saveOrUpdate(Object entity):根据实例状态,选择保存或者更新

8、update(Object entity):更新实例的状态,要求entity是持久状态

9、setMaxResults(int maxResults):设置分页的大小