SpringFramework(9)

来源:百度文库 编辑:神马文学网 时间:2024/06/09 00:12:18
6、ORM
(1)ORM
l         ORM:对象关系映射(Object-Relational Mapping)
l         内建支持:
Ø         JDO
Ø         iBATIS
Ø         Hibernate
(2)Hibernate配置
l         定义DataSource和Hibernate SessionFactory
... employee.hbm.xml....DB2Dialect
(3)HibernateTemplate
l         创建HibernateTemplate
SessionFactory sessionFactory = (SessionFactory) ctx.getBean("sessionFactory");HibernateTemplate hibernate = new HibernateTemplate(sessionFactory);
l         加载和更新
Employee e = (Employee) hibernate.load(Employee.class, "000330");e.setFirstName("BOB");hibernate.update(e);
l         使用方便的方法查询
List employees = hibernate.find("from app.Employee");List list = hibernate.find("from app.Employee e where e.lastName=?","LEE",Hibernate.STRING);List list = hibernate.find("from app.Employee e where e.lastName=? and e.firstName=?",new String[] { "BOB", "LEE" },new Type[] {Hibernate.STRING , Hibernate.STRING });
l         使用回调方法查询
List list = (List) hibernate.execute(new HibernateCallback() {public Object doInHibernate(Session session)throws HibernateException {List result = session.find("from app.Employee");// do some further stuff with the result listreturn result;}});
(4)异常处理
l         传递Hibernate异常到DataAccessException层
l         采用和JDBC相同的策略