Difference between revisions of "EclipseLink/Examples/MOXy/JPA/CompoundPrimaryKeys"

From Eclipsepedia

< EclipseLink‎ | Examples‎ | MOXy‎ | JPA
Jump to: navigation, search
m (JPA Entities)
(JAXB Bindings)
Line 49: Line 49:
  
 
== JAXB Bindings ==
 
== JAXB Bindings ==
 +
 +
For this example the XML acessor type will be set to FIELD for all the model classes.  This can be set as a package level JAXB annotation.
 +
 +
<source lang="java">
 +
@XmlAccessorType(XmlAccessType.FIELD)
 +
package com.example.model;
 +
 +
import javax.xml.bind.annotation.XmlAccessType;
 +
import javax.xml.bind.annotation.XmlAccessorType;
 +
</source>

Revision as of 12:08, 1 December 2009

Overview

JPA Entities

@Entity
public class PhoneNumber {
 
    @ManyToOne
    @JoinColumns({
        @JoinColumn(name="E_ID", referencedColumnName = "E_ID"),
        @JoinColumn(name="E_COUNTRY", referencedColumnName = "COUNTRY")
    })
    @XmlIDREF
    private Employee contact;
 
}
@Entity
@IdClass(EmployeeId.class)
public class Employee {
 
    @Id
    @Column(name="E_ID")
    @XmlID
    private BigDecimal eId;
 
    @Id
    @XmlID
    private String country;
 
    @OneToMany(mappedBy="contact")
    @XmlInverseReference(mappedBy="contact")
    private List<PhoneNumber> contactNumber;
 
}
public class EmployeeId {
 
    private BigDecimal eId;
    private String country;
 
}

JAXB Bindings

For this example the XML acessor type will be set to FIELD for all the model classes. This can be set as a package level JAXB annotation.

@XmlAccessorType(XmlAccessType.FIELD)
package com.example.model;
 
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;