我有一个实体,我想应用观察者模式。在我的 UI 中,我有一个类,当实体的某些数据发生更改时,实体必须通知该类。
问题是通过 EntityManager 找到它检索到的实体与我附加观察者的实例不同,因此作为实体的实例变量的观察者列表 (observerList) 是空的。观察者名单没有被持久化。它有注释@Transient。
在我的(Vaadin-Web-)应用程序中,我通过将实体的 ID 存储在所谓的 appdata 变量中来跟踪用户当前使用的实体。当我需要实体时,我使用 Entitymanager 的 find()。
怎么解决?我应该存储实体而不是 id 并进行合并而不是查找吗?