示例用例:
class Address {
@XMLTransient
@ManyToOne(cascade={})
private Person person;
}
在我的用例中,地址通过 JAXB 序列化为 XML,在另一个系统中进行修改,从 XML 反序列化为分离的 JPA 实体,然后合并回 db (em.merge(address))。由于 Person 属性被标记为 @XMLTransient,因此它从 XML 中恢复为 null。
由于所有 Address' 都有一个数据库条目并且可以通过那里的 Id 标识我想合并以忽略 Person 属性并只保留关系的数据库值(这与级联无关)。
有没有办法告诉 JPA 在合并时忽略 Person 属性,或者我是否必须在合并之前使用 @XMLAdapter 来设置具有相应 Person 对象的属性(顺便说一句,我还在所有实体上使用带有 @Version 的乐观锁定)。
有什么提示吗?
米格尔