Hibernate一級緩存具有以下特點(diǎn):
默認(rèn)開啟:Hibernate一級緩存是默認(rèn)開啟的,無需任何配置。
存儲在Session中:一級緩存存儲在Session對象中,因此它的作用范圍僅限于當(dāng)前Session。
對象唯一性:一級緩存保證了在同一個Session中獲取同一個對象時,只會從緩存中獲取,而不會再次查詢數(shù)據(jù)庫。
緩存級別:一級緩存的緩存級別是最低的,僅對當(dāng)前Session有效,不會影響其他Session。
事務(wù)一致性:一級緩存與事務(wù)是綁定的,當(dāng)事務(wù)提交或回滾時,一級緩存會被清空。
緩存更新:當(dāng)對持久化對象進(jìn)行更新操作時,一級緩存會自動更新相應(yīng)的緩存。如果更新操作是在事務(wù)提交之前進(jìn)行的,則會更新緩存和數(shù)據(jù)庫。如果更新操作是在事務(wù)提交之后進(jìn)行的,則只會更新緩存,不會更新數(shù)據(jù)庫。
緩存失效:一級緩存會在以下情況下失效:手動清除緩存、Session關(guān)閉、Session清除緩存、持久化對象在數(shù)據(jù)庫中被修改。
總的來說,Hibernate一級緩存的特點(diǎn)是默認(rèn)開啟、存儲在Session中、對對象唯一性進(jìn)行保證、緩存級別低、與事務(wù)一致性、自動更新緩存以及在特定情況下會失效。