关闭

Hibernate培训B组测试题

标签: hibernate测试session数据库deletec
601人阅读 评论(1) 收藏 举报
分类:
 (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)<set> B)<one-to-many>  C)<many-to-one>  D)<property>

(4)<set>元素有一个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()

(6)以下程序的打印结果是什么?(单选)

tx = session.beginTransaction();
Customer c1=(Customer)session.load(Customer.class,new Long(1));
Customer c2=(Customer)session.load(Customer.class,new Long(1));
System.out.println(c1==c2);
tx.commit();
session.close();

A)运行出错,抛出异常
B)打印false
C)打印true--------主键相同,与java不同

(7)以下程序代码对Customer的name属性修改了两次:
tx = session.beginTransaction();
Customer customer=(Customer)session.load(Customer.class,
                              new Long(1));
customer.setName(/"Jack/");
customer.setName(/"Mike/");
tx.commit();

执行以上程序,Hibernate需要向数据库提交几条update语句?(单选)
A)0  B)1 C)2  D)3


(8)在持久化层,对象分为哪些状态?(多选)
A)临时状态-----------------EJB3.0没有这个状态
B)独立状态
C)游离状态
D)持久化状态


(9)对于以下程序,Customer对象在第几行变为持久化状态?(单选)
Customer customer=new Customer();  //line1
customer.setName(/"Tom/");  //line2
Session session1=sessionFactory.openSession();  //line3
Transaction tx1 = session1.beginTransaction();  //line4
session1.save(customer);  //line4
tx1.commit();  //line5
session1.close(); //line6

A) line1  B)line2  C)line3  D)line4  E)line5  F)line6


(10)对于以下程序,Customer对象在第几行变为游离状态?(单选)
Customer customer=new Customer();  //line1
customer.setName(/"Tom/");  //line2
Session session1=sessionFactory.openSession();  //line3
Transaction tx1 = session1.beginTransaction();  //line4
session1.save(customer);  //line4
tx1.commit();  //line5
session1.close(); //line6

A) line1  B)line2  C)line3  D)line4  E)line5  F)line6

(11)以下哪一种检索策略利用了外连结查询?(单选)
A)立即检索  B)延迟检索  C)迫切左外连结检索

(12)假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况(单选)
Session session=sessionFactory.openSession();
tx = session.beginTransaction();
Customer customer=(Customer)session.get(Customer.class,new Long(1));
tx.commit();
session.close();
Iterator orderIterator=customer.getOrders().iterator();

A)编译出错 B)编译通过,并正常运行 C)编译通过,但运行时抛出异常

(13)关于HQL与SQL,以下哪些说法正确?(多选)
A)HQL与SQL没什么差别
B)HQL面向对象,而SQL操纵关系数据库
C)在HQL与SQL中,都包含select,insert,update,delete语句
D)HQL仅用于查询数据,不支持insert,update和delete语句

(14)事务隔离级别是由谁实现的?(单选)
A)Java应用程序 B)Hibernate C)数据库系统 D)JDBC驱动程序

(15)悲观锁与乐观锁,哪个具有较好的并发性能?(单选)
A)悲观锁 B)乐观锁

答案:
(1)A,B,C (2)B,C  (3)A  (4)D  (5)A,B,C,D,F  (6)C  (7)B  (8)A,C,D  (9)D   (10)F (11)C (12)C  (13)B,D  (14)C  (15)B
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:175710次
    • 积分:2899
    • 等级:
    • 排名:第12194名
    • 原创:99篇
    • 转载:34篇
    • 译文:0篇
    • 评论:72条
    JavaEye
    在线书籍