天天看點

Java對象名稱解釋

     一、PO:persistant object 持久對象,可以看成是與資料庫中的表相映射的java對象。最簡單的PO就是對應資料庫中某個表中的一條記錄,多個記錄可以用PO的集合。PO中應該不包含任何對資料庫的操作。

     二、 VO:value object值對象。通常用于業務層之間的資料傳遞,和PO一樣也是僅僅包含資料而已。但應是抽象出的業務對象,可以和表對應,也可以不,這根據業務的需要.個人覺得同DTO(資料傳輸對象),在web上傳遞。         三、 DAO:data access object 資料通路對象,此對象用于通路資料庫。通常和PO結合使用,DAO中包含了各種資料庫的操作方法。通過它的方法,結合PO對資料庫進行相關的操作。         四、 BO:business object 業務對象,封裝業務邏輯的java對象,通過調用DAO方法,結合PO,VO進行業務操作。        五、 POJO:plain ordinary java object 簡單無規則java對象,我個人覺得它和其他不是一個層面上的東西,VO和PO應該都屬于它。      O/R Mapping 是 Object Relational Mapping(對象關系映射)的縮寫。通俗點講,就是将對象與關系資料庫綁定,用對象來表示關系資料。在O/R Mapping的世界裡,有兩個基本的也是重要的東東需要了解,即VO,PO。    VO,值對象(Value Object),PO,持久對象(Persisent Object),它們是由一組屬性和屬性的get和set方法組成。從結構上看,它們并沒有什麼不同的地方。但從其意義和本質上來看是完全不同的。         1. VO是用 new關鍵字建立,由GC回收的。                 PO則是向資料庫中添加新資料時建立,删除資料庫中資料時削除的。并且它隻能存活在一個資料庫連接配接中,斷開連接配接即被銷毀。        2 . VO是值對象,精确點講它是業務對象,是存活在業務層的,是業務邏輯使用的,它存活的目的就是為資料提供一個生存的地方。              PO則是有狀态的,每個屬性代表其目前的狀态。它是實體資料的對象表示。使用它,可以使我們的程式與實體資料解耦,并且可以簡化對象資料與實體資料之間的轉換。      3. VO的屬性是根據目前業務的不同而不同的,也就是說,它的每一個屬性都一一對應目前業務邏輯所需要的資料的名稱。                 PO的屬性是跟資料庫表的字段一一對應的。   PO對象需要實作序列化接口。