歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 中興公司Hibernate筆試題庫

中興公司Hibernate筆試題庫

日期:2017/3/1 9:52:19   编辑:Linux編程

一、選擇題 (每題2分 共22分)

(1)一般情況下,關系數據模型與對象模型之間有哪些匹配關系(多選)

A)表對應類 B)記錄對應對象 C)表的字段對應類的屬性D)表之間的參考關系對應類之間的依賴關系

(2)以下關於SessionFactory的說法哪些正確?(多選)

A)對於每個數據庫事務,應該創建一個SessionFactory對象B)一個SessionFactory對象對應一個數據庫存儲源。C)SessionFactory是重量級的對象,不應該隨意創建。如果系統中只有一個數據庫存儲源,只需要創建一個。D)SessionFactory的load()方法用於加載持久化對象

(3)元素有一個cascade屬性,如果希望Hibernate級聯保存集合中的對象,casecade屬性應該取什麼值?(單選)

A)none B)save C)delete D)save-update

(4)以下哪些屬於Session的方法?

A)load()B)save()C)delete()D)update()E)open()F)close()

(5)以下程序的打印結果是什麼?(單選)

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)打印falseC)打印true

(6)以下程序代碼對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

(7)在持久化層,對象分為哪些狀態?(多選)

A)臨時狀態 B)獨立狀態 C)游離狀態 D)持久化狀態

(8)對於以下程序,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

(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)關於HQL與SQL,以下哪些說法正確?(多選)

A)HQL與SQL沒什麼差別B)HQL面向對象,而SQL操縱關系數據庫C)在HQL 與SQL中,都包含select,insert,update,delete語句D)HQL僅用於查詢數據,不支持insert,update和delete語句

(11)事務隔離級別是由誰實現的?(單選)

A)Java應用程序 B)Hibernate C)數據庫系統 D)JDBC驅動程序

二、簡答題(每題6分 共48分)

1.Hibernate中怎樣實現類之間的關系?(如:一對多、多對多的關系)

2. Hibernate是如何延遲加載?

3. hibernate優點

4.簡答Hibernate的緩存機制

5. Hibernate對象的三種狀態是什麼?

6.session.load()和session.get()的區別

7.如何優化Hibernate?

8. 在數據庫中條件查詢速度很慢的時候,如何優化?

三.論述題(每題15分 共30分)

1. Hibernate的主鍵生成機制

2. Hibernate工作原理及為什麼要用?

Hibernate 的詳細介紹:請點這裡
Hibernate 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved