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