在JPA中使用coordinationType有什么用?

4 java jpa eclipselink

我是JPA的新手,我开始使用JPA应用程序.在做我发现的时候

@Cache(coordinationType=CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS)
Run Code Online (Sandbox Code Playgroud)

更多类型协调.我没有在JPA中使用coordinationType.任何人都可以告诉我何时使用和使用什么协调类型.

Dru*_*nix 5

JPA 2.0使用两个缓存:第一个是您的实体管理器.它可以在JPA 1.0中使用,并在其生命周期内缓存其对象.由于您应该将实体经理用于单个工作单元,因此这个生命周期通常很短.JPA 2.0引入了二级缓存,其中对象通常寿命更长.虽然这通常会带来性能优势,但可能会导致缓存不一致,尤其是在multionode环境中.CacheCoordinationType是一个控制缓存复制的eclipselink扩展.对于便携式应用程序,您可能希望使用JPA缓存API.哪种策略最好取决于您的应用程序对一致性和性能的需求.如果您希望获得最佳性能,并且可以使用过时的答案,请不要传播更改,但要限制缓存中对象的生命周期.否则通知有关更改并注意事项:

  1. 在多节点中,您必须正确设置缓存复制.
  2. 您必须处理可能会更改数据的其他应用程序.这通常意味着禁用可能从其他应用程序更改的表的缓存.