13. 试说明自动生成的关于Hibernate的HibernateSessionFactory中是如何保证其中的Session是线程同步的?(3分)
14. 举例说明Hibernate支持的3中类继承形式和实现的方式?说明其中涉及到了polymorphism(多态)和descriminator这两个关键字的意义?(4分)
轻型”的类,只包含部分表字段)。
15. 有以下hbm文件片断
<one-to-one name="passport" class="cn.edu.zju.jjh.newModel.Passport" cascade="all" outer-join="true"></one-to-one>
这里的cascade表示什么含义?它可以有哪些值,每个值表示什么意义?
outer-join是什么意思?(3分)
outer join=true,hibernate对该关联进行外连接抓取;
outer join=false, hibernate对该关联不进行外连接抓取。
当在hibernate.cfg.xml配置文件中的属性
<property name="hibernate.max_fetch_depth">0</property>
设置为0时,从全局关闭外连接抓取,此时outer-join属性无效。
<property name="hibernate.max_fetch_depth">2</property>
设置为>0时,outer-join属性有效。
16. 看以下hbm配置文件片断
<set name="bonusSet" inverse="true" cascade="all">
请问这里的inverse的含义是什么?(2分)
17. 请看以下hbm配置文件片断
<set name="emps" inverse="true" lazy="true" cascade="all">
<key>
<column name="deptid" not-null="true" />
</key>
<one-to-many class="cn.edu.zju.jjh.model3.Emp" />
</set>
请问这里lazy属性的含义,默认值是多少?请举例说明hibernate批量加载的含义,如何设置?如果我设置了延迟加载为true,如果在session关闭之后才去关联的对象,是否会出错,怎么解决?(5分)Hibernate.initialize();
18. 通过hibernate如何调用存储过程,写例子说明?请写出两种调用方法?(3分)
19. 请写出你所知道的java的数据缓存策略,并说明hibernate中的缓存的分类?简单介绍hibernate中的几类缓存(5分)
20. 请简要说明事务的概念?并解释数据库操作中可能出现的3种不确定情况(脏读取,不可重复读,虚读)的意思?列出SQL规范中定义了4个事务隔离等级,并进行简要说明?(5分)
解答如下:
13、在客户请求到来时,过滤器将创建JDBC连接或Hibernate Session,并借助于ThreadLocal类将它们绑定到当前线程中,从而供业务逻辑使用。