日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Hibernate區(qū)分不同對象的方法

1.關(guān)系數(shù)據(jù)庫按主鍵區(qū)分不同記錄。

創(chuàng)新互聯(lián)是一家專業(yè)提供長寧企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、H5場景定制、小程序制作等業(yè)務(wù)。10年已為長寧眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。

 
 
 
  1. create table CUSTOMERS (ID int promary key not null, NAME varchar(15));  
  2.  
  3. insert into CUSTOMERS values(1, 'Tom');  
  4.  
  5. insert into CUSTOMERS values(3, 'Tom');  

2.Java語言按內(nèi)存地址區(qū)別不同的對象。

 
 
 
  1. Customer c1 = new Customer("Tom");  
  2.  
  3. Customer c2 = new Customer("Tome");  
  4.  
  5. Customer c3 = c1;  
  6.  
  7. // c1 == c3 結(jié)果為true 
  8.  
  9. // c1 == c2 結(jié)果為false 

3.Hibernate用對象標識符(OID)來區(qū)分不同對象。

 
 
 
  1. Customer c1 = (Customer)session.load(Customer.classnew Long(1));  
  2.  
  3. Customer c2 = (Customer)session.load(Customer.classnew Long(1));  
  4.  
  5. Customer c3 = (Customer)session.load(Customer.classnew Long(3));  
  6.  
  7. // c1 == c2 結(jié)果為true  
  8.  
  9. // c1 == c3 結(jié)果為false  

以上程序中,三次調(diào)用了Session的load()方法,分別加載OID為1或3的Customer對象。以下是Hibernate三次加載Customer對象的流程。

(1)第一次加載OID為1的Customer對象時,先從數(shù)據(jù)庫的CUSTOMERS表中查詢ID為1的記錄,再創(chuàng)建相應(yīng)的Customer實例,把它保存在Session緩存中,最后把這個對象的引用賦值給變量c1。

(2)第二次加載OID為1的Customer對象時,直接把緩存中OID為1的Customer對象的引用賦值給c2,因為c1和c2引用同一個Customer對象。

(3)當加載OID為3的Customer對象時,由于在緩存中不存在這樣的對象,所以必須再次到數(shù)據(jù)庫中查詢OID為3的記錄,再創(chuàng)建相應(yīng)的Customer實例,把它保存存在Session緩存中,最后把這個對象的引用賦值給變量c3。


網(wǎng)站標題:Hibernate區(qū)分不同對象的方法
文章網(wǎng)址:http://www.dlmjj.cn/article/coheccp.html