O/R Mapping 是 Object Relational Mapping(對象關(guān)系映射)的縮寫。通俗點講,就是將對象與關(guān)系數(shù)據(jù)庫綁定,用對象來表示關(guān)系數(shù)據(jù)。在O/R Mapping的世界里,有兩個基本的也是重要的東東需要了解,即VO,PO。
VO,值對象(Value Object),PO,持久對象(Persisent Object),它們是由一組屬性和屬性的get和set方法組成。從結(jié)構(gòu)上看,它們并沒有什么不同的地方。但從其意義和本質(zhì)上來看是完全不同的。
1.VO是用new關(guān)鍵字創(chuàng)建,由GC回收的。
PO則是向數(shù)據(jù)庫中添加新數(shù)據(jù)時創(chuàng)建,刪除數(shù)據(jù)庫中數(shù)據(jù)時削除的。并且它只能存活在一個數(shù)據(jù)庫連接中,斷開連接即被銷毀。
2.VO是值對象,精確點講它是業(yè)務(wù)對象,是存活在業(yè)務(wù)層的,是業(yè)務(wù)邏輯使用的,它存活的目的就是為數(shù)據(jù)提供一個生存的地方。
PO則是有狀態(tài)的,每個屬性代表其當(dāng)前的狀態(tài)。它是物理數(shù)據(jù)的對象表示。使用它,可以使我們的程序與物理數(shù)據(jù)解耦,并且可以簡化對象數(shù)據(jù)與物理數(shù)據(jù)之間的轉(zhuǎn)換。
3.VO的屬性是根據(jù)當(dāng)前業(yè)務(wù)的不同而不同的,也就是說,它的每一個屬性都一一對應(yīng)當(dāng)前業(yè)務(wù)邏輯所需要的數(shù)據(jù)的名稱。
PO的屬性是跟數(shù)據(jù)庫表的字段一一對應(yīng)的。
PO對象需要實現(xiàn)序列化接口。
posted on 2005-10-28 11:30
Sung 閱讀(1774)
評論(0) 編輯 收藏 所屬分類:
Java技術(shù)