2012-05-25 81 views
1

衆所周知,可以將Hibernate緩存用於後續查詢中使用的實體。我的問題是,這樣的緩存的實體不可變更改後,他們在高速緩存中那樣把:休眠緩存中的可變實體

一)從DB

b)當註釋緩存加載實體時,Hibernate把這些實體在緩存中

c)該DAO接收加載的對象

d)的DAO操縱該實體的一些屬性(比如解密某些加密字段),但標記改變爲「非相關換緩存」

E)對於潛艇經常查詢,Hibernate緩存會返回始終緩存的和被操縱的實體。

我希望這個願望清單不是天真的,但我認爲,這些是基於Spring/Hibernate的現代應用程序的相當普通的要求。

回答

0

二級緩存不包含實體。它包含由Hibernate從數據庫表中加載的數據行。每次從緩存中加載一個實體時,都會根據緩存中的數據構造實體的新實例,就像它來自數據庫一樣。

實體的瞬態字段未存儲在緩存中。