Hibernate一级缓存具有以下特点:
-
默认开启:Hibernate一级缓存是默认开启的,无需任何配置。
-
存储在Session中:一级缓存存储在Session对象中,因此它的作用范围仅限于当前Session。
-
对象唯一性:一级缓存保证了在同一个Session中获取同一个对象时,只会从缓存中获取,而不会再次查询数据库。
-
缓存级别:一级缓存的缓存级别是最低的,仅对当前Session有效,不会影响其他Session。
-
事务一致性:一级缓存与事务是绑定的,当事务提交或回滚时,一级缓存会被清空。
-
缓存更新:当对持久化对象进行更新操作时,一级缓存会自动更新相应的缓存。如果更新操作是在事务提交之前进行的,则会更新缓存和数据库。如果更新操作是在事务提交之后进行的,则只会更新缓存,不会更新数据库。
-
缓存失效:一级缓存会在以下情况下失效:手动清除缓存、Session关闭、Session清除缓存、持久化对象在数据库中被修改。
总的来说,Hibernate一级缓存的特点是默认开启、存储在Session中、对对象唯一性进行保证、缓存级别低、与事务一致性、自动更新缓存以及在特定情况下会失效。