Java 冬眠懒散+;缓存&x2B;乐观锁定抛出HibernateeException

Java 冬眠懒散+;缓存&x2B;乐观锁定抛出HibernateeException,java,hibernate,ehcache,optimistic-locking,Java,Hibernate,Ehcache,Optimistic Locking,我面临着Hibernate延迟加载与二级缓存和乐观锁定相结合的问题。 我有一个缓存在二级缓存中的实体。该实体有一个延迟加载的集合,该集合也应该被缓存 @Entity @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @Cacheable public class A { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long identifier; @

我面临着Hibernate延迟加载与二级缓存和乐观锁定相结合的问题。 我有一个缓存在二级缓存中的实体。该实体有一个延迟加载的集合,该集合也应该被缓存

@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@Cacheable
public class A
{
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long identifier;

  @Setter(AccessLevel.NONE)
  private String uuid = UUID.randomUUID().toString();

  @Version
  private long entityVersion;

  @ElementCollection(fetch = FetchType.LAZY)
  @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
  private List<String> foo = new ArrayList<>();
}
如果我尝试调试这段代码,异常就会消失(可能是因为调试器事先加载了集合?)。如果捕获HibernateeException并再次尝试使用集合,则会显示相同的行为。FetchMode“join”确实有帮助,但此时不会加载集合

以下是my application.properties中的属性:

spring.jpa.properties.hibernate.cache.use_second_level_cache=true
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.jpa.properties.hibernate.cache.region.factory_class=org.hibernate.cache.jcache.JCacheRegionFactory
spring.jpa.properties.hibernate.cache.default_cache_concurrency_strategy=read-write
spring.jpa.properties.hibernate.cache.provider_class=org.ehcache.jsr107.EhcacheCachingProvider
spring.jpa.properties.hibernate.cache.missing_cache_strategy=create
我使用的是Hibernate 5.4.29.Final和ehcache 3.9.3。 知道问题出在哪里吗?如果你需要更多信息,请告诉我

spring.jpa.properties.hibernate.cache.use_second_level_cache=true
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.jpa.properties.hibernate.cache.region.factory_class=org.hibernate.cache.jcache.JCacheRegionFactory
spring.jpa.properties.hibernate.cache.default_cache_concurrency_strategy=read-write
spring.jpa.properties.hibernate.cache.provider_class=org.ehcache.jsr107.EhcacheCachingProvider
spring.jpa.properties.hibernate.cache.missing_cache_strategy=create