[/code]Spring对ORM框架做了整合
Spring负责以下几部分功能:
事务管理
异常处理
线程安全,轻量级模版类
便利的支持类
资源管理
Spring 对Hibernate的整合
(1)管理Hibernate的资源
注册一个SessionFactory,替代hibernate.peropties文件
注册HibernateTemplate(线程安全的,多个DAO公用一个)
把HibernateTemplate自动注入到DAO中
(2)用HibernateTemplate访问Hibernate
Hibernate中的模版回调机制包含一个HibernateTemplate和一个回调接口:HibernateCallback,HibernateCallback中只有一个方法
[code="java"]
Object doInHibernate(Session session)throws HibernateException,SQLException;
//事例代码
public Student getStudent(final Integer id){
return (Student)hibernateTemplate.execute(
new HibernateCallbac()
{
public Object doInHiberante(Session session) throws HiberanteException{
return session.load(Student.class,id);
}
}
}
以上代码中使用了内部类,不算很整洁,HiberanteTemplate提供了一些简洁的方法:
return (Student)hibernateTemplate.load(Student.class,id);
(3)HibernateDaoSupport的子类
Dao类继承HibernateDaoSupport类后,可以使用getHibernateTemplate(),getSession(),closeSessionIfNessessary();在不能使用HibernateTemplate的时候使用