1

我有一个实体,我想应用观察者模式。在我的 UI 中,我有一个类,当实体的某些数据发生更改时,实体必须通知该类。

问题是通过 EntityManager 找到它检索到的实体与我附加观察者的实例不同,因此作为实体的实例变量的观察者列表 (observerList) 是空的。观察者名单没有被持久化。它有注释@Transient。

在我的(Vaadin-Web-)应用程序中,我通过将实体的 ID 存储在所谓的 appdata 变量中来跟踪用户当前使用的实体。当我需要实体时,我使用 Entitymanager 的 find()。

怎么解决?我应该存储实体而不是 id 并进行合并而不是查找吗?

4

1 回答 1

0

这篇文章或多或少地回答了我的问题。

合并实体时,只需将瞬态变量复制到合并实体中即可。如果 JPA 为我执行此复制操作,那就太好了。

于 2013-07-11T09:35:06.913 回答