Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/Examples/MOXy/JPA/EmbeddedIdClass"
< EclipseLink | Examples | MOXy | JPA
(→Overview) |
(→JPA Entities) |
||
Line 14: | Line 14: | ||
@JoinColumn(name="E_COUNTRY", referencedColumnName = "COUNTRY") | @JoinColumn(name="E_COUNTRY", referencedColumnName = "COUNTRY") | ||
}) | }) | ||
− | |||
private Employee contact; | private Employee contact; | ||
Line 29: | Line 28: | ||
@OneToMany(mappedBy="contact") | @OneToMany(mappedBy="contact") | ||
− | |||
private List<PhoneNumber> contactNumber; | private List<PhoneNumber> contactNumber; | ||
Revision as of 16:45, 1 December 2009
Overview
This example demonstrates how to derive an XML representation from a set of JPA entities using JAXB when a JPA entity has an embedded ID class.
JPA Entities
@Entity public class PhoneNumber { @ManyToOne @JoinColumns({ @JoinColumn(name="E_ID", referencedColumnName = "E_ID"), @JoinColumn(name="E_COUNTRY", referencedColumnName = "COUNTRY") }) private Employee contact; }
@Entity @IdClass(EmployeeId.class) public class Employee { @EmbeddedId private EmployeeId id; @OneToMany(mappedBy="contact") private List<PhoneNumber> contactNumber; }
@Embeddable public class EmployeeId { @Column(name="E_ID") 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;