hibernate面試題

 (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) B) C) D)<:property>
 
(4)元素有一個cascade屬性,若是但願Hibernate級聯保存集合中的對象,casecade屬性應該
 
取什麼值?(單選)
 
A)noneB)saveC)deleteD)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)打印falseC)打印true
 
 
(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)臨時狀態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
相關文章
相關標籤/搜索