十五道关于Hibernate的面试题

(1)一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)

A)表对应类

B)记录对应对象

C)表的字段对应类的属性

D)表之间的参考关系对应类之间的依赖关系

(2)以下关于SessionFactory的说法哪些正确?(多选)

A)对于每个数据库事务,应该创建一个SessionFactory对象

B)一个SessionFactory对象对应一个数据库存储源。

C)SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个 数据库存储源,只需要创建一个。

D)SessionFactory的load()方法用于加载持久化对象

(3)Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在 Customer.hbm.xml文件中,用哪个元素映射orders属性?

A) B) C) D)<:property>

(4)元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象, casecade属性应该取什么值?(单选)

A)none

B)save

C)delete

D)save-update

(5)以下哪些属于Session的方法?

A)load()

B)save()

C)delete()

D)update()

E)open()

F)close()

时间: 2024-09-04 15:22:37

十五道关于Hibernate的面试题的相关文章

Hibernate常见面试题汇总

1.在数据库中条件查询速度很慢的时候,如何优化? 1.建索引 2.减少表之间的关联 3.优化sql,尽量让sql很快定位数据,不要让sql做全表查询,应该走索引,把数据量大的表排在前面 4.简化查询字段,没用的字段不要,已经对返回结果的控制,尽量返回少量数据 2.在Hibernate中进行多表查询,每个表中各取几个字段,也就是说查询出来的结果集并没有一个实体类与之对应,如何解决这个问题? 解决方案一,按照Object[]数据取出数据,然后自己组bean 解决方案二,对每个表的bean写构造函数,

第十二章 hibernate缓存

1.一级缓存(Session级缓存) 一级缓存很短和session的生命周期一致,因此也叫session级缓存或事务级缓存 那些方法支持一级缓存: *get() *load() *iterate(查询实体对象) 如何管理一级缓存: *session.clear(),session.evict() 如何避免一次性大量的实体数据入库导致内存溢出 方法1:先flush,再clear for(int i = 0; i <1000000; i++){ session.save(user); if(i %

十七道海量数据处理面试题与Bit-map详解

作者:小桥流水,redfox66,July.   前言     本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了重复了之前的10道面试题之后,重新多整理了7道.仅作各位参考,不作它用.     同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题目来源将取自下文中的17道海量数据处理的面试题.因为,我们觉得,下文的每一道面试题都值得重新思考,重新深究与学习.再者,编程艺术系列的前十章也是这么来的.若您有任何问题或建议,欢迎不吝指正.谢谢

海量数据处理面试题与Bit-map详解

十七道海量数据处理面试题与Bit-map详解 作者:小桥流水,redfox66,July. 前言     本博客内曾经整理过有关海量数据处理的10道面试题(十道海量数据处理面试题与十个方法大总结),此次除了重复了之前的10道面试题之后,重新多整理了7道.仅作各位参考,不作它用.     同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题目来源将取自下文中的17道海量数据处理的面试题.因为,我们觉得,下文的每一道面试题都值得重新思考,重新深究与学习.再者,编程艺术系列的前十章也是这么来的

经典算法(11) 一道有趣的GOOGLE面试题 --【解法2】

上一篇<白话经典算法系列之十一道有趣的GOOGLE面试题>中对一道有趣的GOOGLE面试题进行了详细的讲 解,使用了类似于基数排序的做法在O(N)的时间复杂度和O(1)的空间复杂度完成了题目的要求,文章发表后 ,网友fengchaokobe在评论中给出了另一种解法,见下图. 文字版: int Repeat(int *a, int n) { for(int i = 0; i < n; i++) { if(a[i] > 0) //判断条件 { if(a[ a[i] ] < 0)

hibernate中如何解决主键的配置问题?

问题描述 我有A表和B表两个表,B表引用了A表主键作为外键,两个表的主键都不是序列,我在hibernate配置主键id时都设置成<generatorclass="assigned"/>我在执行向B表添加一条记录的时候报了如下错误:ERRORcom.aptech.dao.TDeviceDAO-savefailedorg.hibernate.id.IdentifierGenerationException:idsforthisclassmustbemanuallyassigne

struts+spring+hibernate是由谁来操作数据库的?

问题描述 struts+spring+hibernate是由谁来操作数据库的? 解决方案 解决方案二:hibernate解决方案三:非常感谢你的答案.解决方案四:我想加你QQ解决方案五:是lZ你自己操作的...hibernate只是封装好那些东西而已...嘻嘻~~~解决方案六:hibernate提供了很多接口,用于数据库的操作,struts主要处理业务逻辑,spring就是把struts和hibernate很好的结合起来解决方案七:在Strutshibernatespring的开发中struts

一步步教你读懂NET中IL

接触NET也有1年左右的时间了,NET的内部实现对我产生了很大的吸引力.个人觉得:能对这些底部的实现进行了解和熟练的话,对以后自己写代码是有很大帮助的,好了,废话不多说,请看下边: .NET CLR 和 Java VM 都是堆叠式虚拟机器(Stack-Based VM),也就是說,它們的指令集(Instruction Set)都是採用堆叠运算的方式:执行时的资料都是先放在堆叠中,再进行运算.JavaVM 有約 200 個指令(Instruction),每個指令都是 1 byte 的 opcode

sql语句就一条,求高手啊,could not execute query

问题描述 fromUserswhereusername=?andpassword=?org.hibernate.exception.SQLGrammarException:couldnotexecutequeryatorg.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)atorg.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptio