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