有什么方法可以使Hibernate既退出实体又退出其所有急切的或一对一的关联,而不必手动逐一退出关联? (并且无需在关联上设置cascade =“ evict”)。

一旦建立并运行了持久层,我通常会发现这些需求,并且我对在全球范围内为这些关联添加这种配置没有信心。我只想在特定情况下逐级逐出。

同样,如果有一种方法可以从数据库中检索实体而不将其(及其急切的关联)附加到会话中,那也很好。

我想要执行此操作以在UI修改的实体与其当前数据库状态之间执行一些比较逻辑。经过比较逻辑后,将始终保存经过UI修改的实体。比较背后的逻辑与渴望的或一对一的关联无关。

最佳答案

您第一个问题的答案是否定的。

我不明白为什么在第二个问题中,您不想将实体附加到会话中。我可以看到为什么您不想加载某些关联,但这正是将关联设置为惰性而不是渴望的目标。只是不要让他们渴望,他们也不会在会话中加载。

10-02 22:59