报名参加了单位一个spring hibernate的培训,
但是由于加班,没去上,老师给了下面的习题, 求大家帮忙解答一下,不胜感激!!
1、 请问什么场景下适合应用Hibernate?可以从哪些方面得到受益?
2、 请描述Hibernate中实体与值对象的区别?
3、 请问Hibernate中映射实体关联关系时,inverse属性是用来做什么的?
4、 请描述Hibernate的session对象的list和iterator方法功能及差异是什么?
5、 对于实体关联对象的加载,Hibernate有哪些抓取策略?请简要描述。6、Spring IoC中,如何实现在Bean类被容器创建时执行自定义的初始化工作?
7、Spring AOP动态代理的实现策略有哪两种?在应用时,它们的差异是什么?
8、编程实现:基于Spring AOP,当业务Bean发生异常时,自动记载错误信息,要求对所有业务Bean都通用。

解决方案 »

  1.   

          这样的题目 楼主还是自己先去google一下  自己也加深了印象  再不明白的上来问问 不更好吗
      

  2.   

    题目太多了 还是google一下吧
      

  3.   

    1、Hibernate是一个实现了对象关系映射的持久层框架,当你们的项目比较庞大时为了方便与数据库交互就可以考虑用个这类框架,ibatis也是其中一个轻量级持久层框架,Hibernate的收益可以从好多方面考虑:比如很少让你手动写SQL语句,这些都是Hibernate给你自动封装好的。还有就是用了Hibernate之后你就可以用面向对象的思想与方式去解决与关系型数据库交互的问题。2、Hibernate中实体与值对象问题楼主根本没必要理睬他们,只要知道怎样用Hibernate操作持久类就OK了,那些繁琐的概念真没必要去深究。3、inverse就是反向设置控制权的意思,在多对一或一对一等关联关系中,控制权在多方还是一方都可以由你自己控制。4、session对象的list就是返回你HQL所查出来的集合数据,跟JDBC的Resutset一样,至于iterator还真没用到。5、连接抓取、延迟抓取、批量抓取6、可以用依赖注入7、一个是CGLIB代理、一个是JDK动态代理,spring默认使用JDK动态代理,我们一直也用这,至于区别还没研究过,不过听经理说一般情况下尽量使用JDK动态代理。
      

  4.   


    呵呵。问问 Google  Baidu 老师
      

  5.   

    7L 的回答很好,感觉spring 和 Hibernate 这种东西,如果不听课,靠想是不会彻底领会的,lz还是去看看吧
      

  6.   

    有很多东西7楼说的很好,我这里只是说一下我的理解:
    1.Hibernate可以屏蔽底层数据库操作,从而有更多时间处理业务方面的东西,另一个方面,现在很多框架都和Hibernate有直接关联,使用Hibernate可以增强项目的灵活性。
    2.Hibernate的实体对象是用户自定义或者JDK中已经有的除了基本数据类型外的对象,而值对象就是基本数据类型构建的对象。
    4.iterate和Java Util包中的iterate有着相同的功能,是一种iterate模式的实现。
    6.可以通过自定义方法(一般为init)然后进行Ioc的init-method属性进行注入。
      

  7.   

    7、一个是CGLIB代理、一个是JDK动态代理,spring默认使用JDK动态代理,我们一直也用这,至于区别还没研究过,不过听经理说一般情况下尽量使用JDK动态代理。 
    我来回答下:
    CGLIB可以对类进行代理,而jdk动态代理只能代理接口,也就是你的类必须实现接口。