數(shù)據(jù)持久化

什么是對象持久化

所謂持久化(Persistence)即把數(shù)據(jù)(如內(nèi)存中的對象)保存到持久化的設備,即可永遠保存到存儲設備(如硬盤)
持久化的主要應用是將內(nèi)存中的數(shù)據(jù)存儲到關系型的數(shù)據(jù)庫中,當然也可以存儲在硬盤文件中、XML 數(shù)據(jù)文件中 。

為什么要持久化

  • 內(nèi)存不能持久
  • 內(nèi)存容量有限(內(nèi)存適用于存放計算數(shù)據(jù)的)
  • 業(yè)務數(shù)據(jù)共享的需要(需要公共的持久設備)
  • 為了使用大規(guī)模的檢索(所以要將數(shù)據(jù)改為社和大規(guī)模檢索的格式)
  • 數(shù)據(jù)管理的需要(安全、備份)

怎樣是向持久化

對象序列化

即實現(xiàn)了 Serializable 接口的類,適合于少量的對象進行暫時的持久化,適合在網(wǎng)絡上傳輸對象。但不符合企業(yè)級應用的需要,因為企業(yè)應用中對數(shù)據(jù)的要求是大量的,長時間保存的、需要大規(guī)模查詢。

JDBC

優(yōu)點:功能完備,從理論上可以說是效率最高的;可以存儲海量的數(shù)據(jù)并且適合進行大規(guī)模的檢索。
缺點:開發(fā)效率和維護效率低;開發(fā)難度大,代碼量大,站到總代嗎量的 1/3 或 1/2.

ORM

ORM,即 Object-Relaational Mapping,對象關系映射,他是一種解決問題的思路,是一種思想。他的實質就是將關系數(shù)據(jù)用對象形式表示出來,并通過面向對象的方式將這些對象組織起來,以實現(xiàn)系統(tǒng)業(yè)務邏輯?;蚴钦f ORM 就是內(nèi)存中的對象與數(shù)據(jù)庫中的數(shù)據(jù)間的映射關系。
ORM 的特點:開源的,實現(xiàn) JDBC 的封裝,實現(xiàn)了簡單的 API,輕量級解決方案,持久化對象是一個 POJO 類。最有名的是 ORM 框架就是 Hibernate。

JPA 框架

JPA(Java Persisternce API) 是 Java EE5 的標準 ORM 接口,他是一種規(guī)范,一套接口,但不是實現(xiàn)。用于實現(xiàn)這一規(guī)范的 ORM 很多,其中 Hibernate 就是其中之一。

JPA、ORM、Hibernate 間的關系

JPA , ORM 與 Hibernate 的關系。ORM 是一種思想,JPA 是這種思想的具體表現(xiàn)形式,是以 Java 語言為規(guī)范表現(xiàn)出來的一種形式,是一套標準的接口, Hibernate 則是這套接口的具體實現(xiàn)。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容