根实体及其集合的不同缓存并发策略(Hibernate with EHCache)?

时间:2010-04-30 03:37:42

标签: hibernate orm jpa collections second-level-cache

给出来自Hibernate docs的示例并修改它,以便根级实体(C​​ustomer)是只读的,而其中一个集合(票证)是可读写的:

@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
public class Customer { 
    ... 
    @OneToMany(...)
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
    public SortedSet<Ticket> getTickets() {
        return tickets;
    }
    ...
}

从缓存中访问客户时,是否会刷新故障单集合?

1 个答案:

答案 0 :(得分:1)

如果您在其他地方修改给定tickets的{​​{1}}之一,是的。你为什么不测试这个?我们假设CustomerCutomer#1集合中有Ticket#1Ticket#2。我运行了这段代码:

tickets

这表明门票的集合被“刷新”。