Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JAXB将xml映射到jpa实体_Jpa_Jaxb_Eclipselink_Moxy - Fatal编程技术网

使用JAXB将xml映射到jpa实体

使用JAXB将xml映射到jpa实体,jpa,jaxb,eclipselink,moxy,Jpa,Jaxb,Eclipselink,Moxy,难道不可能使用JAXB将xml映射到jpa实体吗?日食莫西会有帮助吗 注意:我是专家组的负责人和成员 是的,您可以将JPA实体映射到XML,下面是一些方法,EclipseLink JAXB(MOXy)使这变得更容易 1。双向映射 客户 地址 了解更多信息 2。映射复合键关系 我们通常考虑将对象树映射到XML,但是JAXB支持使用对象树的组合来映射表示图形的节点之间的关系。标准的机制是一个键对一个外键。JPA支持复合键的概念,MOXy也支持使用@XmlKey和@XmlJoinNodes(

难道不可能使用JAXB将xml映射到jpa实体吗?日食莫西会有帮助吗

注意:我是专家组的负责人和成员

是的,您可以将JPA实体映射到XML,下面是一些方法,EclipseLink JAXB(MOXy)使这变得更容易

1。双向映射

客户

地址

了解更多信息

2。映射复合键关系

我们通常考虑将对象树映射到XML,但是JAXB支持使用对象树的组合来映射表示图形的节点之间的关系。标准的机制是一个键对一个外键。JPA支持复合键的概念,MOXy也支持使用
@XmlKey
@XmlJoinNodes
(类似于JPA中的
@XmlJoinColumns

员工

了解更多信息

3。MOXy允许复合键和嵌入键

JPA还可以使用嵌入式密钥类来表示复合密钥。MOXy还支持这种类型的复合关键点

了解更多信息

4。EclipseLink JAXB(MOXy)和EclipseLink JPA有着共同的概念

EclipseLink提供了共享一个共同核心的JAXB和JPA实现。这意味着它们有许多相同的概念,例如:

虚拟访问方法

EclipseLink支持虚拟财产的概念。这在创建多租户应用程序时非常有用,您需要对每个租户进行自定义。EclipseLink的JPA和JAXB实现都支持这个概念


注意:我是专家组的负责人和成员

是的,您可以将JPA实体映射到XML,下面是一些方法,EclipseLink JAXB(MOXy)使这变得更容易

1。双向映射

客户

地址

了解更多信息

2。映射复合键关系

我们通常考虑将对象树映射到XML,但是JAXB支持使用对象树的组合来映射表示图形的节点之间的关系。标准的机制是一个键对一个外键。JPA支持复合键的概念,MOXy也支持使用
@XmlKey
@XmlJoinNodes
(类似于JPA中的
@XmlJoinColumns

员工

了解更多信息

3。MOXy允许复合键和嵌入键

JPA还可以使用嵌入式密钥类来表示复合密钥。MOXy还支持这种类型的复合关键点

了解更多信息

4。EclipseLink JAXB(MOXy)和EclipseLink JPA有着共同的概念

EclipseLink提供了共享一个共同核心的JAXB和JPA实现。这意味着它们有许多相同的概念,例如:

虚拟访问方法

EclipseLink支持虚拟财产的概念。这在创建多租户应用程序时非常有用,您需要对每个租户进行自定义。EclipseLink的JPA和JAXB实现都支持这个概念

JAXB(MOXy)是否可以将xsd文件转换为已经具有JPA映射(实体、列等)的POJO文件?JAXB(MOXy)是否可以将xsd文件转换为已经具有JPA映射(实体、列等)的POJO文件?
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;

}
@Entity
@IdClass(EmployeeId.class)
public class Employee {

    @Id
    @Column(name="E_ID")
    @XmlID
    private BigDecimal eId;

    @Id
    @XmlKey
    private String country;

    @OneToMany(mappedBy="contact")
    @XmlInverseReference(mappedBy="contact")
    private List<PhoneNumber> contactNumber;

}
@Entity
public class PhoneNumber {

    @ManyToOne
    @JoinColumns({
        @JoinColumn(name="E_ID", referencedColumnName = "E_ID"),
        @JoinColumn(name="E_COUNTRY", referencedColumnName = "COUNTRY")
    })
    @XmlJoinNodes( {
        @XmlJoinNode(xmlPath="contact/id/text()", referencedXmlPath="id/text()"),
        @XmlJoinNode(xmlPath="contact/country/text()", referencedXmlPath="country/text()")
    })
    private Employee contact;

}