Serialization? Persistent?
※ 引述《lin1000 (你是研究生嗎)》之銘言:
: 是指在serialization中會被儲存的物件
: 該物件通常會implements serializable interface
: ※ 引述《forkome (丁丁是個人材)》之銘言:
: : 在討論區常看到Persistance Object(Entity)
: : 持久的物件(實體)想問一下,這物件主要的功能
: : 還有為什麼都稱它為Entity呢?
一、
Serialization 是指序列化,對物件通過IO儲存到目的地與讀回
Persistant object 的確可能需要 Serializtion,
如 http://www.devx.com/Java/Article/9931 這篇所說的
但我認為應該不能把Persistent Object 定義為 Serializtion中會被儲存的物件
因為:
(1)Persistent Object不一定都需要作序列化,例如對DB作Persistent,
不需要將資料再透過序列化儲存,而是將資料透過Persistent Object存到DB
(2)序列化也可以不過透過實作Serializable 達成, 有別的非標準方法, 可參
Java Reflection in Action, Manning
二、
就Persistent Object的解釋,個人理解是:(可能不是很正確,請大大不吝指教)
(1)必須要反映一個對象:例如 Text File, 關聯式資料庫的Table (or Entity)
在DB Design 上,會是先分析出Entity 再設計出Table, Entity較具Domain上的
意義。
若是反映DB Entity,即表示此Persistent Object必需能對映Entity相同的屬性,
包括 Primary Key, Column Type, Entity Relationship 等
(2)就分層式架構來說,它的功能是存取資料,是屬於Persistent Layer,而必需要有
一個能達成Persistent的機制/架構,如上述的序列化,或是像Hibernate, JDO等
DB Persistent Framework 必須提供Persistent Object
上述對映的機制,也就是Object-Relational Mapping, 而提供這種機制的,稱為
"OR-Mapper"
因此 簡而言之,Persistent Object 是Java的1個Object, 提供Runtime
資料Persistent的功能,且必須反映實際的Persistent Data對象
@_@ 不對的地方再請指教了..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.81.16.30