數據持久化檢視原始碼討論檢視歷史
數據持久化 |
數據持久化就是將內存中的數據模型轉換為存儲模型,以及將存儲模型轉換為內存中的數據模型的統稱. 數據模型可以是任何數據結構或對象模型,存儲模型可以是關係模型、XML、二進制流等。cmp和Hibernate只是對象模型到關係模型之間轉換的不同實現。
基本信息
中文名稱; 數據持久化
模型; 存儲模型
類型; 關係模型、XML、二進制流
優點; 程序代碼重用性強
簡介
只不過對象模型和關係模型應用廣泛,所以就會誤認為數據持久化就是對象模型到關係型數據庫的轉換罷了。
Hibernate框架會提供這種機制。對象上數據的修改,Hibernate框架會把這種修改同步到數據庫中。
好處
使用數據持久化有以下好處:
1、程序代碼重用性強,即使更換數據庫,只需要更改配置文件,不必重寫程序代碼。
2、業務邏輯代碼可讀性強,在代碼中不會有大量的SQL語言,提高程序的可讀性。
3、持久化技術可以自動優化,以減少對數據庫的訪問量,提高程序運行效率。
Hibernate框架中數據持久化機制:
在業務程序與數據庫之間,Hibernate框架使用Session會話,來完成數據的提交、更新、刪除、查詢等等。
1、向數據庫提交數據
在程序中保存對象時,會把數據保存到Session會話中,然後根據框架的配置文件,自動或手動決定什麼時候把這種保存提交到數據庫。
2、從數據庫中查詢數據
在查詢數據之前,需要清理緩存(手動清理,或者通過配置文件框架自動清理)清理緩存的目的是為了使Session會話中的數據與數據庫中的數據保持一致。然後程序只需要查詢Session會話中的數據即可。
總之,數據持久化是解決程序與數據庫之間交互訪問的問題,使程序不直接訪問數據庫,而是直接訪問Session會話,然後由Session會話與數據庫"打交道"。只要確保,程序每次訪問Session中的數據時,與數據庫中的數據保持一致,就不會出現錯誤。[1]
參考文獻
- ↑ 數據持久化的幾種方式, 360國學 ,