【发布时间】:2015-04-09 17:34:29
【问题描述】:
我正在使用带有 JPA 注释的类将 xml 数据映射到数据库中,反之则通过 JAXB。问题是 JAXB 创建的对象不包含外键字段,因此为空。 这与下面示例中的 ownerId 相关。
有没有办法解决这个问题而无需再次遍历整个树并添加外键?
@Entity
public class Element {
@Id
String id;
@OneToMany(mappedBy = "owner", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<Property> properties;
}
@Entity
public class Property {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int propertyId;
@ManyToOne(optional = false, cascade = CascadeType.ALL)
@PrimaryKeyJoinColumn(name = "ownerId", referencedColumnName = "id")
private Element owner;
}
【问题讨论】:
-
您在 JPA 和 JAXB 中使用相同的模型还是将 JAXB bean 映射到 JPA bean?
-
是的,它是同一型号。我在上面的示例中省略了类以及 getter 和 setter 方法上的 jaxb 注释。
标签: java hibernate jpa jaxb eclipselink