我有两个相关实体

@Entity
public class Book {
    @ManyToOne
    Shelf shelf;
}

@Entity
public class Shelf {
    @OneToMany(mappedBy="shelf")
    Set<Book> books;
}


如果我获取一个空的书架(没有书),则将新书创建并保存到书架上,然后再次获取该书架,则其书本收藏集为空。当我使用调试日志记录运行它时,我看到Hibernate没有第二次搜索书架,它只是从会话缓存中返回它,而这并不意味着书集已经更新。

如何摆脱这种影响并获得更新的货架状态?

谢谢,
Artem。

最佳答案

似乎您必须在单个会话(事务)的范围内手动维护它。 @Cascade和EAGER都不会影响会话缓存

10-07 23:01