📄 hibernate测试题.txt
字号:
Hibernate培训A组测试题
(1)C (2)B (3)A,B,C,D,E (4)B (5)D (6)C (7)C (8)B (9)A (10)A,B,C
(1)以下哪条SQL语句的作用是从CUSTOMERS表查找出性别为女性,并且按照年龄升序排列?(单选)
A) select * from CUSTOMERS where GENDER=\"女性\" order AGE
B) select * from CUSTOMERS where GENDER=\"女性\" order by AGE DESC
C) select * from CUSTOMERS where GENDER=\"女性\" order by AGE
D) select * from CUSTOMERS order by AGE asc where GENDER=\"女性\"
(2)一个客户有多个订单,一个订单只属于一个客户。CUSTOMERS表表示客户,ORDERS表表示订单,如何表示
客户与订单的一对多关系?(单选)
A)在CUSTOMERS表中定义外键,参照ORDERS表的主键
B)在ORDERS表中定义外键,参照CUSTOMER表的主键
C)在CUSTOMERS和ORDERS表中都定义外键,分别参照对方的主键
(3)在UML中,对象之间存在哪些关系?(多选)
A)关联(Association)
B)泛化(Generalization)
C)实现(Implementation)
D)聚集(Aggregation)
E)依赖(Dependency)
F)友员(Friend)
(4) 在JDK中,把Java源程序编译为类文件的命令是什么?(单选)
A)java B)javac C)jar D)compile
(5)对于以下程序代码:
int a=9;
int b=0;
if(a>9)
b=1;
else
b=-1;
执行完以上程序代码,变量b的取值是什么?(单选)
A)0 B)0 C)1 D)-1
(6)以下程序共创建了几个Java对象?(单选)
Integer o1=new Integer(10);
Integer o2=new Integer(10);
Integer o3=o1;
A)0 B)1 C)2 D)3
(7)在第一行创建的Integer对象在什么时候结束生命周期?(单选)
Integer o1=new Integer(10); //line1
Integer o2=o1; //line2
o1=null; //line3
o2=new Integer(10); //line4
o2=null; //line5
A) line2 B)line3 C)line4 D)line5
(8)下面程序的功能是输出以下形式的金字塔图案是什么?(单选)
*
***
*****
*******
for(int i=1;i<=4;i++){
for(int j=1;j<=4-i;j++) System.out.print(\" \");
for(int j=1;j<=_______;j++) System.out.print(\"*\");
System.out.print(\"
\");
}
在下划线处应填入的是什么?(单选)
A)i B)2*i-1 C)2*i+1 D)i+2
(9)以下代码能否编译通过,假如能编译通过,运行时得到什么打印结果?(单选)
Object o = new String(\"abcd\");
String s = o;
System.out.println(s);
System.out.println(o);
A)不能编译通过 B)能编译通过,并正常运行,打印两个“abcd”
C) 编译通过,但运行时抛出ClassCastException
(10) 在关系数据库中,作为表的主键应该满足什么条件?(多选)
A)不允许为空
B)不允许重复
C)主键值不允许被改变
D)不能以多个字段作为主键
答案:
(1)C (2)B (3)A,B,C,D,E (4)B (5)D (6)C (7)C (8)B (9)A (10)A,B,C
(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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -