Java JPA 加载的 OneToMany 列表在更改后未更新

Java JPA loaded OneToMany list not updated after change

也许这是一个非常愚蠢的问题,但我就是找不到解决方案。我有:

@OneToMany(mappedBy = "project", fetch = FetchType.LAZY)
private List<Comment> comments;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "project_id")
private Project project;

当我启动应用程序时,我通过 getter 检索所有评论(已正确加载)。然而,当我 delete/add 另一个评论时,数据库已更新但应用程序直到重新运行才更新。创建评论时它是持久的 - 它在数据库中 - 所以我不明白它是如何不更新的。尝试了各种级联类型,但我认为无论如何都没有必要。我也试过 EAGER,但效果不佳。

当我在 adding/deleting 之后手动从 DB 获取评论时它有效,但我认为这是非常肮脏的解决方案,对吗?

感谢您的任何建议。

您必须再次获取您粘贴一段代码的那个实体。已经获取的列表不会神奇地自行更新。

这就像使用 SQL - 您已重新运行查询以查看更新。 ORM 只是将 SQL 结果行映射到对象中。