gdufo

 

hibernate 几问

、 简述你对IoC(Inversion of Control)的理解,描述一下Spring中实现DI(Dependency Injection)的几种方式。
 
2、 Spring的Bean有多种作用域,包括:
singleton、prototype、request、session、global session、application、自定义
 
3、 简单描述Spring Framework与Struts的不同之处,整合Spring与Struts有哪些方法,哪种最好,为什么?
 
4、 Hibernate中的update()和saveOrUpdate()的区别
 
5、 Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理


1. IoC将创建的职责从应用程序代码搬到了框架中。Spring对Setter注入和构造方法注入提供支持

2.除application(详见Spring Framework 2.0 Reference的3.4节bean的作用域

3.Spring是完整的一站式框架,而Struts仅是MVC框架,且着重于MVC中的C。Spring有三种方式整合Struts:使用 Spring 的 ActionSupport 类整合 Struts;使用 Spring 的 DelegatingRequestProcessor 覆盖 Struts 的 RequestProcessor;将 Struts Action 管理委托给 Spring 框架,动作委托最好。(详见使用Spring 更好地处理Struts 动作
Spring 2.0新增一种方式:AutowiringRequestProcessor。(详见http://www.javaeye.com/topic/24239


4.saveOrUpdate()方法可以实现update()的功能,但会多些步骤,具体如下:
如果对象在该session中已经被持久化,不进行操作;
对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用save()方法保存它;
如果session中的另一个对象有相同的标识符抛出一个异常;
以上皆不符合则调用update()更新之。
 

5、 在context中定义DataSource,创建SessionFactoy,设置参数;DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行具体操作。在使用中如果遇到OpenSessionInView的问题,可以添加OpenSessionInViewFilter或OpenSessionInViewInterceptor。(详见Spring Framework 2.0 Reference的12.2节Hibernate
声明式事务需声明事务管理器,在context中设置<tx:advice>指定属性,用<aop:config>确定<aop:advisor>和<aop:pointcut>。


posted on 2008-08-14 22:02 gdufo 阅读(223) 评论(0)  编辑  收藏 所属分类: Hibernate

导航

统计

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

Hibernate

友情链接

搜索

最新评论

阅读排行榜

评论排行榜