Hibernate考試試題(部分題庫)含答案


Hibernate考試試題 (題庫)

 

1、  在Hibernate中,下列說法正確的有( ABC )。【選三項】

A.Hibernate是一個開放源代碼的對象關系映射框架

B.Hibernate對JDBC進行了輕量級的對象封裝

C.Hibernate可以大大減少操作數據庫的工作量

D.Hibernate提供了數據查詢機制,但沒有提供恢復機制

 

2、  關於Hibernate,下列說法錯誤的是(  B  )。

A.Hibernate是一個對象-關系映射工具

B.在MVC模式中,Hibernate屬於控制層

C.Hibernate在JDBC的方式上進行封裝,以簡化JDBC方式繁瑣的編碼工作

D.在Hibernate中,可以通過xml格式的配置文件保存對象-關系的映射信息

 

3、  在Hibernate中,下列關於SessionFactory說法正確的有( AD )。【選兩項】

A.它是線程安全的

B.它不是線程安全的

C.它是輕量級的

D.一個SessionFactory實例對應一個數據存儲源

 

4、  在Hibernate中,下列關於Session說法正確的有( BCD )。【選三項】

A.它是線程安全的

B.它不是線程安全的

C.它是輕量級的

D.Session也被稱為持久化管理器,它提供了和持久化相關的操作

 

5、  在Hibernate中,下列關於Transaction說法正確的有( ABD )。【選三項】

A.事務Transaction為應用程序指定以原子操作單元為范圍的對象

B.在對數據庫進行增加、修改和刪除操作時一定要加上Transaction

C.在對數據庫進行查詢操作時一定要加上Transaction

D.獲得Transaction的方法:Transaction tr = session.beginTransaction();

 

6、  在Hibernate中,如果數據庫是MySql或者SQLServer,則generator屬性值不可以使用(  )。

A.hilo

B.native

C.sequence

D.indentity

 

7、  在Hibernate中,如果數據庫是Oracle或者DB2,則generator屬性值不可以使用(    )。

A.hilo

B.native

C.sequence

D.indentity

 

7、  在Hibernate中,下列哪個選項不屬於Session的方法( C )。

A.load

B.save

C.open

D.delete

 

9、  在Hibernate中, generator屬性值如果是native,則表示( C )。

A.由Hibernate自動以自增的方式生成標識符,每次增量為1

B.由Hibernate自動以自增的方式生成標識符,每次增量為自定義

C.根據底層數據庫對自動生成標識符的支持來選擇。。。。。。。。。。。。。。。。

D.由Java應用程序負責生成標識符

 

10、  Hibernate增加數據的時候,可以調用session的(  AD  )方法。【選兩項】

A.save

B.update

C.add

D.saveOrUpdate

 

11、  Hibernate對JDBC訪問數據庫的代碼進行了封裝,從而大大簡化了數據訪問層的重復性代碼,它是針對三層架構中( C )的解決方案。

A.表現層

B.業務邏輯層

C.持久化層

D.數據庫系統

 

12、  Hibernate是一個優秀的Java持久化層解決方案,那么數據的持久化指的是( B )。

A.數據在程序退出后就不復存在

B.數據在程序退出后以文件等形式保存在存儲設備中

C.數據的內容是不變的,處於靜態中

D.數據的內容是變化的

 

13、  下列選項不屬於持久化的是(  A  )。

A.將對象轉換為字符串的形式通過網絡傳輸,在另一端接收到該字符串后能將對象還原

B.將程序數據從數據庫中讀取出來

C.從XML配置文件中讀取程序的配置信息

D.將程序數據保存為文件

 

14、  使用Hibernate 技術實現數據庫持久化時,下列(  D  )不在Hibernate配置文件中。

A.數據庫連接信息

B.數據庫類型(dialect)

C.show_sql參數

D.數據庫表和實體的映射信息

 

15、 在Hibernate中,inverse屬性值為(  C  )時,會標識被控方。

A.all

B.false    

C.true 

D.none

 

16、  在Hibernate中,如果需要標識主控方,則inverse屬性值應為(  B  )。

A.all

B.false    

C.true 

D.none

 

17、  在Hibernate中,從性能方面考慮,inverse屬性值通常設置為(  B  )。

A.all

B.false    

C.true 

D.none

 

18、  Hibernate通過映射文件中的<generator>子元素來設定標識符生成器,下列選項哪些是Hibernate提供的內置實現( ABD )。【選三項】

A.hilo

B.native

C.assign

D.indentity

 

19、  三層結構是一種典型的應用軟件分層結構,這三層分別是( ABD )。【選三項】

A.表述層

B.業務邏輯層

C.控制層

D.數據層

 

20、 持久化技術封裝了數據訪問的細節,為大部分業務邏輯提供了面向對象的API。數據持久化具有以下3個方面的特點,分別是( ABC )。【選三項】

A.通過持久化技術能夠減少訪問數據庫中數據的次數,提高應用程序速度

B.提高代碼的可重用性

C.松耦合,使持久化的實現不依賴於底層數據庫及上層業務邏輯

D.具有更好的可擴展性

 

21、  在ORM中,面向對象概念中的對象與面向關系概念中的( B )相對應。

A.表

B.表的行

C.表的列

D.表中行的數據

 

22、 一般情況下,關系數據模型和對象模型之間有哪些匹配關系(  BD  )。【選兩項】

A.表對應對象

B.記錄對應對象

C.表的字段對應類方法

D.表之間的參考關系對應類之間的依賴關系

 

23、 在Hibernate中,一個持久化類的實例可能存在的狀態有哪些(  ABD  )。【選三項】

A.瞬態

B.持久態

C.隔離態

D.游離態

 

24、  在Hibernate的映射文件中,id節點的property元素的( C )表示指定類的屬性映射的表的字段名。

A.name

B.type

C.column

D.lazy

 

25、 在Hibernate的實體類映射文件中,class節點下必須有一個id節點,其中unsaved-value屬性的默認值為(  A  )。

A.null

B.none

C.ture

D.false

 

26、  下列選項關於Configuration的說法不正確的是(  C  )。

A.Configuration類的構造方法用於將默認路徑下的hibernate.cfg.xml(或hibernate.properties)配置文件中的配置信息讀入到內存中

B.Configuration對象用於配置並啟動Hibernate

C.獲得Configuration的方法:Configuration config = new Configuration();

D. Hibernate應用通過Configuration實例指定對象-關系映射文件的位置或者動態配置Hibernate的屬性

 

27、  在Hibernate中,當cascade屬性值為(  C  )時,表示不進行級聯操作。

A.all

B.no    

C.none 

D.delete

 

28、  在Hibernate中,如果需要進行級聯刪除,則cascade屬性值可為(  AD  )。【選兩項】

A.all

B.save-update    

C.none 

D.delete

 

29、   在Hibernate中,要想在刪除某個客戶數據的同時刪除該客戶對應的所有訂單數據,下列方法可行的有( BD )。【選兩項】

A.配置客戶和訂單關聯的cascade屬性為save-update

B.配置客戶和訂單關聯的cascade屬性為all    

C.設置多對一關聯的inverse屬性為true

D.設置多對一關聯的inverse屬性為false

 

30、在Hibernate中,<set>元素有一個cascade屬性,如果希望Hibernate級聯保存集合中的對象,則cascade屬性應該取什么值(  C  )。

A.none

B.save

C.save-update

D.delete

 

31、 在Hibernate中,Customer類中有一個Set類型的orders屬性,用於存放Order訂單對象,在Customer.hbm.xml文件中,可以用(  A  )元素映射orders屬性。

A.<set>

B.<one-to-many>

C.<many-to-one>

D.<property>

 

32、   在Hibernate中,下列一對多關聯的配置中,存在哪些錯誤(  AC  )。【選兩項】

<set name="orders" inverse="false" cascade="true">

                   <one-to-many class="com.scce.pojo.Order"

                                  column="customer_id" />

</set>

A.inverse屬性不可以設置為false

B.cascade屬性不可以設置為true

C.class="com.scce.pojo.Order"應為type="com.scce.pojo.Order"

D.column屬性不可以在<one-to-many>節點內設置

 

33、  在Hibernate的HQL查詢中,下列說法正確的是(  B  )。

A.可以調用用戶自定義函數

B.不可以調用用戶自定義函數

C.支持子查詢

D.支持分頁查詢

 

34、  在Hibernate的HQL查詢中,下列說法不正確的是(  B  )。

A.在Hibernate3中,可以使用update、delete子句

B.在Hibernate3中,不可以使用update、delete子句

C.HQL是基於SQL的

D.HQL提供了更多面向對象的封裝

 

35、在Hibernate的HQL查詢中,setMaxResults(3)方法中參數值3指的是(  C  )。

A.從第3條記錄開始

B.從第4條記錄開始

C.查詢3條記錄

D.查詢4條記錄

 

36、  在Hibernate的HQL查詢中,setFirstResults(3)方法中參數值3指的是(  B )。

A.從第3條記錄開始

B.從第4條記錄開始

C.查詢3條記錄

D.查詢4條記錄

 

37、  下面代碼的執行效果是(  C  )。

String hql = "from TblStudent s order by s.score asc";

Query query = session.createQuery(hql);

query.setFirstResult(0);

query.setMaxResults(5);

return query.list();

A.返回分數最高的5個學生

B.返回分數最高的6個學生

C.返回分數最低的5個學生

D.返回分數最低的6個學生

 

38、 在Hibernate的HQL查詢中,下列說法不正確的是(  D  )。

A.HQL子句本身的大小寫沒有差異,但類名和屬性名必須區分大小寫

B.HQL支持where子句

C.HQL支持as子句

D.where、as關鍵字區分大小寫

 

39、 在Hibernate的HQL查詢中,有數據庫表(dept)對應的對象名稱為Dept,下列HQL寫法正確的有(  BC  )。【選兩項】

A.String hql = "from com.hr.g3.persist.dept as model";

B.String hql = "from com.hr.g3.persist.Dept ";

C.String hql = "from Dept as model";

D.String hql = "from dept ";

 

40、  關於HQL查詢,下列說法正確的有(  CD  )。【選兩項】

A.HQL查詢的select子句中必須區分大小寫

B.HQL支持不統計函數

C.HQL支持僅查詢對象的某幾個屬性,查詢結果保存於Object數組中

D.HQL查詢為官方推薦的查詢方式

 

41、在Hibernate中,下面代碼實現了對Book實體中title屬性的模糊查詢,則下列選項中說法正確的是(   B  )。

Session session=this.getSession();                            

String hql = "from Book model where model.title like ?; "               //(1)

Query query = session.createQuery(hql);                             //(2)

query.setString(0, "%java%");                                 //(3)(中文分號)

List list = query.list();                                            //(4)

A. 第(1)行,Book與model之間必須有as關鍵字

B. 第(2)行,沒有錯誤

C. 第(3)行應該為:query.setString(0, "java");

D. 第(4)行應該為:List llist = query.executeQuery();

 

42、 關於HQL與SQL,下列說法正確的有(  BC  )。【選兩項】

A.HQL與SQL沒有多少差別

B.HQL面向對象,而SQL操縱關系數據庫

C.在HQL與SQL中,都包含select,insert,update,delete語句(逗號還是頓號)

D.HQL僅用於查詢數據,不支持insert,update和delete語句(頓號還是逗號)

 

43、  在HQL語言中,Query對象特別提供了(  B  )方法,用於獲得一個唯一行唯一列的對象。

A.list

B.uniqueResult

C.result

D.queryResult

 

44、 關於HQL查詢,下列說法錯誤的是( A )。

A.HQL查詢可以執行T-SQL語句,執行速度更快

B.HQL支持只查詢對象的某幾個屬性,查詢結果將保存在一個Object數組中

C.HQL支持統計函數

D.HQL語句可以實現類似PreparedStatement的效果

 

45、  在JAVA中,關於屬性文件,下列選項說法正確的是( A )。

A.屬性文件以名稱和值的形式保存信息

B.屬性文件不能寫中文(???)

C.屬性文件中能保存各種數據類型的信息

D.屬性文件的文件擴展名是.xml

 

46、 在Hibernate中,下列關於HQL參數綁定的寫法正確的有(  AD  )。【選兩項】

String hql ="from Dept as model where model.deptName =? and model.createDate =? ";

A.第一個參數的位置為0

B.第一個參數的位置為1

C.設置參數的方法為:setEntity()

D.設置參數的方法為:setParameter()

 

47、  在Hibernate中,下面的程序代碼對Customer的name屬性進行了兩次修改:

tx = session.beginTransaction();

Customer customer=(Customer)session.load(Customer.class,  new Long(1));

customer.setName("Jack");

customer.setName("Mike");

tx.commit();

則執行以上程序時,Hibernate需要向數據庫提交(  B  )條update語句。

A.0

B.1

C.2

D.3

 

48、關於Criteria查詢,下列說法正確的有(  ABC  )。【選三項】

A.Criteria查詢通過面向對象化的設計將數據查詢條件封裝成一個對象

B.Criteria查詢可讀性強

C.Criteria查詢符合Java程序員的編程習慣

D.Criteria查詢沒有HQL查詢容易理解

 

49、 Criteria查詢通過面向對象化的設計將數據查詢條件封裝為一個(  A  )。

A.對象

B.序列

C.類

D.HQL語句

 

50、 在Hibernate中,Criteria本身只是查詢容器,其具體的條件是通過(  A  )方法添加至Criteria實例中。(題目有問題)

A.Criteria.add

B.Criteria.update

C.Criteria.save

D.Criteria.put

 

51、 在Hibernate的Criteria查詢中,Expression對象具體描述了查詢條件,其對應SQL條件中的field>=value的方法是(  AC  )。

A.Expression.eq

B.Expression.gt

C.Expression.ge

D.Expression.lt

 

52、 在Hibernate的Criteria查詢中,Expression對象具體描述了查詢條件,其中Expression.le對應的SQL條件是(  D  )。

A.field>value

B.field>=value

C.field<value

D.field<=value

 

53、   在Hibernate的Criteria查詢中,從第5條記錄開始查詢的方法是(  A  )。

A.criteria.setFirstResult(4);

B.criteria.setFirstResult(5);

C.criteria.setMaxResult(4);

D.criteria.setMaxResult(5);

 

54、   在Hibernate的Criteria查詢中,查詢5條記錄的方法是(  D  )。

A.criteria.setFirstResult(4);

B.criteria.setFirstResult(5);

C.criteria.setMaxResult(4);

D.criteria.setMaxResult(5);

 

55、 在Hibernate的Criteria查詢中,下列按創建日期進行排序的方法是(  B  )。

A.criteria.addOrder(Order.asc("createDate"));

B.criteria.addOrder(Order.desc("createDate"));

C.criteria.saveOrder(Order.asc("createDate"));

D.criteria.saveOrder(Order.desc("createDate"));

 

56、  在Hibernate的Criteria查詢中,有如下代碼:

Criteria criteria = session.createCriteria(Dept.class);

criteria.add(Expression.eq("deptName", "人事部"));

其對應的HQL語句為(  C  )。

A.String hql = "from Dept";

B.String hql = "from Dept as model";

C.String hql = "from Dept as model where model.deptName =’人事部’";

D.String hql = "from Dept as model where model.deptName = 人事部";

 

57、  下面的代碼對應的HQL語句是(  D  )。

Criteria criteria = session.createCriteria(Dept.class);

       criteria.addOrder(Order.asc("createDate"));

A.String hql = "from Dept";

B.String hql = "from Dept as model";

C.String hql = "from Dept as model where model.createDate =’createDate’";

D.String hql = "from Dept as model order by model.createDate asc";

 

58、  HQL語句:String hql ="from Dept as model order by model.deptName, model.createDate desc";所表達的意思為(  C  )。

A.查詢部門,按照deptName的desc排序

B.查詢部門,按照createDate的desc排序

C.查詢部門,先按照deptName的desc排序,再按照createDate的desc排序

D.查詢部門,deptName和createDate的desc排序沒有先后之分

 

59、 下列選項中,對下面代碼的說法正確的是(  D  )。

String hql = "from Dept as model where model.deptName = 人事部";

Query query = session.createQuery(hql);

List<Dept> deptList = query.list();

A.查詢所有部門

B.查詢部門名稱為“人事部”的部門

C.查詢出錯

D.該HQL查詢無法查出“人事部”這個部門

 

60、在Hibernate中,下列說法不正確的是(  D  )。

A.HQL是基於SQL的

B.HQL提供更加面向對象的封裝

C.HQL是Hibernate官方推薦的查詢方式

D.HQL提供的是面向關系型數據庫的。。。。。。。。。。。。。。

 

61、 對於HQL中的as關鍵字,下列說法正確的是(  C  )。

A.必須要有

B.必須沒有

C.可以有,也可以沒有

D.以上說法均不正確

 

62、 在Hibernate中,用於比較字符串的like操作符“like '部%'”表示(  A  )。

A.所有以“部”開頭的字符串

B.所有以“部”結尾的字符串

C.所有包括“部”的字符串

D.所有包括“部”且“部”不在開頭和結尾的字符串

 

63、  在Hibernate中,用於比較字符串的like操作符“like '%部%'”表示(  C  )。

A.所有以“部”開頭的字符串

B.所有以“部”結尾的字符串

C.所有包括“部”的字符串

D.所有包括“部”且“部”不在開頭和結尾的字符串

 

64、  在Hibernate中,下列說法正確的有(  BD  )。【選兩項】

A.HQL只用於查詢數據

B.HQL具備更強大的功能,實體的更新與刪除即其主要特征之一

C.delete與update子句為Hibernate2引入的新特性

D.delete與update子句為Hibernate3引入的新特性

 

65、在Hibernate的HQL查詢中,有如下代碼:

String hql = "select model.deptName,model.createDate from Dept as model ";

Query query = session.createQuery(hql);

則query.list();返回的是( D )。

A.所有部門的集合

B.所有部門名稱的集合

C.所有部門創建日期的集合

D.所有包括部門名稱和創建日期的對象數組的集合

 

版權所有,允許轉載,轉載請注明出處,侵權必究!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM