假设我在 JPA 应用程序中有几种类型的实体,以及一个执行所有与数据库相关的操作的存储库。
有时它从外部传递未附加的实体,我想获取它们的附加副本(例如,保留包含对此实体的引用的新实体,或访问惰性属性)。
EntityManager.refresh(entity)
不适用于未连接的对象。EntityManager.merge(entity)
如我所愿,将复制分离实体的当前状态,而不是从数据库中获取当前值。EntityManager.find(entity.getId(), entityClass)
有效,这就是我现在所做的,但这取决于实体的类型(尽管现在我认为它EntityManager.find(entity.getId(), entity.getClass())
更好)。还有其他方法吗?