一、选择题(每题1分,共10分)
1. Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在l文件中,用哪个元素映射orders属性?( A )
A)<set>
B)<one-to-many>
C)<many-to-one>
D)<property>
A)<set>
B)<one-to-many>
C)<many-to-one>
D)<property>
2. <set>元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(D )
A)none
B)save
C)delete
D)save-update
A)none
B)save
C)delete
D)save-update
3. 下面关于Spring的说法中错误的是。( D )
A、Spring是一系列轻量级Java EE框架的集合
B、Spring中包含一个“依赖注入”模式的实现
C、使用Spring可以实现声明式事务
D、Spring提供了AOP方式的日志系统
B、Spring中包含一个“依赖注入”模式的实现
C、使用Spring可以实现声明式事务
D、Spring提供了AOP方式的日志系统
4. 以下程序代码对Customer的name属性修改了两次:
tx = session.beginTransaction();
java xml是什么Customer customer=(Customer)session.load(Customer.class,new Long(1));
customer.setName(\"Jack\");
customer.setName(\"Mike\");
txmit();
执行以上程序,Hibernate需要向数据库提交几条update语句?( B )
A)0
B)1
C)2
D)3
tx = session.beginTransaction();
java xml是什么Customer customer=(Customer)session.load(Customer.class,new Long(1));
customer.setName(\"Jack\");
customer.setName(\"Mike\");
txmit();
执行以上程序,Hibernate需要向数据库提交几条update语句?( B )
A)0
B)1
C)2
D)3
5. 假设对Customer类的orders集合采用延迟检索策略,编译或运行以下程序,会出现什么情况( C )
Session session=sessionFactory.openSession();
tx = session.beginTransaction();
Customer customer=((Customer.class,new Long(1));
txmit();
session.close();
Iterator Orders().iterator();
A)编译出错
B)编译通过,并正常运行
C)编译通过,但运行时抛出异常
Session session=sessionFactory.openSession();
tx = session.beginTransaction();
Customer customer=((Customer.class,new Long(1));
txmit();
session.close();
Iterator Orders().iterator();
A)编译出错
B)编译通过,并正常运行
C)编译通过,但运行时抛出异常
6. 下面关于AOP的说法错误的是。( C )
A、AOP将散落在系统中的“方面”代码集中实现
B、AOP有助于提高系统的可维护性
C、AOP已经表现出了将要替代面向对象的趋势
A、AOP将散落在系统中的“方面”代码集中实现
B、AOP有助于提高系统的可维护性
C、AOP已经表现出了将要替代面向对象的趋势
D、AOP是一种设计模式,Spring提供了一种实现
7. 以下程序的打印结果是什么?( C)
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);
txmit();
session.close();
A)运行出错,抛出异常
B)打印false
C)打印true
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);
txmit();
session.close();
A)运行出错,抛出异常
B)打印false
C)打印true
8. 在持久化层,对象分为哪些状态?(多选)( ACD )
A)临时状态
B)独立状态
A)临时状态
B)独立状态
C)游离状态
D)持久化状态
D)持久化状态
9. 以下哪一种检索策略利用了外连结查询?(C )
A)立即检索
B)延迟检索
C)迫切左外连结检索
A)立即检索
B)延迟检索
C)迫切左外连结检索
10. 在构建和使用Web Service时,主要用到以下几个关键的技术和规则。(多选)( ABCD )
A XML:描述数据的标准方法.
B SOAP:表示信息交换的协议.
C WSDL:Web服务描述语言.
D UDDI:通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。
A XML:描述数据的标准方法.
B SOAP:表示信息交换的协议.
C WSDL:Web服务描述语言.
D UDDI:通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。
二、填空题(每题2分,5题共10分)
1.Hibernate的五个核心接口是( Session )、( SessionFactory )、( Transaction )、( Query )和( Configuration )。
2. Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括( JDO )、(Hibernate )和( iBatis )。
3. J2EE也是一个框架,包括( JDBC )、( JNDI )、( RMI )、( JMS )、( EJB )、( JTA )等技术。
4. 消息传递域包括( 点对点消息传递域 )和( 发布/订阅消息传递域 )。
5. Session Bean用于实现业务逻辑,它可以是( 有状态的),也可以是(无状态的 )。
三、简答题(每题3分,10题共30分)
1.在使用了Hibernate的程序中,实体有那三种状态?在什么情况下,实体会处于这种状态?
瞬时:一个实体通过new操作符创建后,没有和Hibernate的session建立关系,也没有手动
赋值过该实体的持久化标志id。此时,该实体的任何属性的更新都不会反映到数据库表中。
持久化:当一个实体和Hibernate的session创建了关系,并获取了持久化标志,而且在Hibernate的session生命周期内存在。此时针对该实体任何属性的更改都会影响到数据库表中一条记录对应字段的更新,也即与对应数据库表保持同步。
脱管(脱离管制):当一个实体和session创建了关系,并获取了持久化标识,而此时Hibernate的session生命周期结束,实体的持久化标志没有改动过,针对该实体的任何属性的修改都不会及时反映到数据库表中.
持久化:当一个实体和Hibernate的session创建了关系,并获取了持久化标志,而且在Hibernate的session生命周期内存在。此时针对该实体任何属性的更改都会影响到数据库表中一条记录对应字段的更新,也即与对应数据库表保持同步。
脱管(脱离管制):当一个实体和session创建了关系,并获取了持久化标识,而此时Hibernate的session生命周期结束,实体的持久化标志没有改动过,针对该实体的任何属性的修改都不会及时反映到数据库表中.
2. 在下面的Hibernate的映射文件中,<property>子元素,<generator>子元素和<many-to-one>子元素所表示的意义是?<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"hibernate.sourceforge/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="org.hibernate.auction">
<class name="com.heyang.domain.Topic"
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"hibernate.sourceforge/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="org.hibernate.auction">
<class name="com.heyang.domain.Topic"
table="HibernateIdPid_Topic" lazy="false">
<id name="id" column="ID" >
<generator class="native"/>
</id>
<property name="name" column="name" />
<many-to-one name="parent" class="com.heyang.domain.Topic" column="pid"/>
</class>
</hibernate-mapping>
<id name="id" column="ID" >
<generator class="native"/>
</id>
<property name="name" column="name" />
<many-to-one name="parent" class="com.heyang.domain.Topic" column="pid"/>
</class>
</hibernate-mapping>
<property>子元素:表示Topic实例中属性name和其对应的表HibernateIdPid_Topic字段name的映射关系。
<generator>子元素:表示主键的生成策略,native表示由数据库来选择一种合适的主键生成策略。
<many-to-one>子元素:表示多对一关系,它意味着多个Topic实例中属性parent会对应着一个Topic的实例,在表HibernateIdPid_Topic中,意味着多条Topic记录的pid会和某条Topic记录的id建立外键主键的关联关系。
<generator>子元素:表示主键的生成策略,native表示由数据库来选择一种合适的主键生成策略。
<many-to-one>子元素:表示多对一关系,它意味着多个Topic实例中属性parent会对应着一个Topic的实例,在表HibernateIdPid_Topic中,意味着多条Topic记录的pid会和某条Topic记录的id建立外键主键的关联关系。
3.解释下列名词:JNDI、JMS、JTA、JAF
JNDI:(Java Naming & Directory Interface)JAVA命名目录服务。主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查和定位分布式应用程序的功能。
JMS:(Java Message Service)JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。
JTA:(Java Transaction API)JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。
JAF:(Java Action FrameWork)JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。
4. 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?
保存在此Domain的l文件中,它是服务器的核心配置文件。
5. 在weblogic中发布ejb需涉及到哪些配置文件
不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括lCMP实体Bean一般还需要l
6. 实体Bean的特点是什么?
1.实体Bean可以将实体持久化到数据库。
2.实体Bean封装了业务数据,不实现业务逻辑。
3.实体Bean与数据库中一条或多条记录对应,并提供了一种方便和有效的操纵数据的机制。
2.实体Bean封装了业务数据,不实现业务逻辑。
3.实体Bean与数据库中一条或多条记录对应,并提供了一种方便和有效的操纵数据的机制。
7. Java开源构建工具Ant能完成那些任务?
编译Java源文件,打包文件(jar,war,ear等格式),自动测试与生成报告,从CVS等管理系统取得源代码。
8. JMS的全称是什么?作用是什么?如何理解消息传递?
Java Message Service, Java消息服务API允许应用创建发送,接收和阅读消息。消息传递是一种在软件组件或者应用之间进行通信的方法。消息传递支持松耦合的分布式通信。组件发送消息到某个目的地,接收方可以从目的地获取消息。但是,发送方和接收方在通信时并不需要同时可用。
9. remote接口和home接口主要作用?
remote接口定义了业务方法,用于EJB客户端调用业务方法。
home接口是EJB工厂用于创建和移除查EJB实例。
home接口是EJB工厂用于创建和移除查EJB实例。
10. J2EE是什么?
Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。
四、问答题(每题5分,4题共20分)
1.Hibernate工作原理是什么?
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Sesssion
4.创建事务Transation
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SesstionFactory
2.读取并解析映射信息,创建SessionFactory
3.打开Sesssion
4.创建事务Transation
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SesstionFactory
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论