我已阅读以下几页,但我有几个疑问。
关于 1 级缓存的持久化上下文类型 Transaction-scoped Persistence context 和 Extended Persistence context 有什么区别?
关于二级缓存 http://www.objectdb.com/java/jpa/persistence/cache
现在,我的问题是:
- 在正常情况下,为 L1 缓存、TRANSACTION 或 EXTENDED 选择的最佳PersistenceContextType是什么?我想答案是 TRANSACTION,因为它是默认值。但是我想知道什么时候应该使用 EXTENDED。
- 在正常情况下,为 L2 缓存的以下属性选择的最佳值是什么?:
- javax.persistence.sharedCache.mode(我想答案是全部,因为它是默认值并缓存所有实体)
- javax.persistence.cache.retrieveMode(我想答案是使用,因为它是默认设置并在检索时使用缓存)
- javax.persistence.cache.storeMode(我想答案是 USE 因为它是默认值,但是我仍然不明白与 REFRESH 的区别,这对我来说似乎更好)
有人可以解释如何正确放置 L1 和 L2 的这些属性,并解释何时使用某些值或其他值吗?