Java 缓存由其他实体映射的关系

Java 缓存由其他实体映射的关系,java,hibernate,jpa,hibernate-cache,Java,Hibernate,Jpa,Hibernate Cache,我正在尝试缓存一些只有在服务器关闭时才会更改的实体。以下是一个例子: @Entity @Cache(usage=CacheConcurrencyStrategy.READ_ONLY) public class Season { @Cache(usage=CacheConcurrencyStrategy.READ_ONLY) @OneToOne(cascade=CascadeType.PERSIST, fetch=FetchType.EAGER) @JoinColumn(

我正在尝试缓存一些只有在服务器关闭时才会更改的实体。以下是一个例子:

@Entity
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
public class Season {

    @Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
    @OneToOne(cascade=CascadeType.PERSIST, fetch=FetchType.EAGER)
    @JoinColumn(name="next_id")
    protected Season next;

}
这很有效

但是当我添加反向关系时,我看到hibernate在数据库中查询该关系

@Entity
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
public class Season {

    @Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
    @OneToOne(cascade=CascadeType.PERSIST, fetch=FetchType.EAGER)
    @JoinColumn(name="next_id")
    protected Season next;

    @Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
    @OneToOne(mappedBy="next", fetch=FetchType.EAGER)
    protected Season previous;
}
无论我说它是渴望还是懒惰都没有区别

如何配置缓存/实体/关系,以便将季节实体完全缓存,包括“下一个”和“上一个”关系


如果JPA的@Cacheable有办法做到这一点,我更希望如此。

这里是你的问题的一部分,问题仍然悬而未决!现在我可以停止寻找我的错误了。