使用JAXB生成的类进行一对多hibernate双向映射

时间:2012-07-12 15:31:31

标签: hibernate jaxb

是否可以告诉JAXB创建Hibernate双向映射?
持有班级可以有很多政策孩子。
要将Parent的PK传递给Child的FK,我必须设置

policy.setHolding(holding)

然后我可以说

session.save(holding)

但是当我使用JAXB将XML编组为Holding对象时,它不起作用。 可以找到更多详细信息here

1 个答案:

答案 0 :(得分:2)

注意:我是EclipseLink JAXB (MOXy)主管,是JAXB (JSR-222)专家组的成员。

您可能对EclipseLink JAXB(MOXy)中的@XmlInverseReference扩展感兴趣,以支持此用例。以下是一个例子:

<强>客户

import javax.persistence.*;

@Entity
public class Customer {

    @Id
    private long id;

    @OneToOne(mappedBy="customer", cascade={CascadeType.ALL})
    private Address address;

}

<强>地址

import javax.persistence.*;
import org.eclipse.persistence.oxm.annotations.*;

@Entity
public class Address implements Serializable {

    @Id
    private long id;

    @OneToOne
    @JoinColumn(name="ID")
    @MapsId
    @XmlInverseReference(mappedBy="address")
    private Customer customer;

}

了解更多信息