JPA JAVA EE
@Entitypublic class EntityA { @Id @GeneratedValue private int myIdA; @ManyToOne private EntityB refEntityB; .............}
@Entitypublic class EntityB { @Id @GeneratedValue private int myIdB; private String str; .............}
import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.IdClass;import javax.persistence.ManyToOne;import java.util.Date;@Entity@IdClass(CompositeTaskId.class)public class Task { @Id private long taskId; @Id @ManyToOne private Employee employee; private String taskName; private Date date; public Task() { } public Task(Employee employee, long taskId) { this.employee = employee; this.taskId = taskId; } public String getTaskName() { return taskName; } public void setTaskName(String taskName) { this.taskName = taskName; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } @Override public String toString() { return "Task{" + "taskId=" + taskId + ", employee=" + employee + ", taskName='" + taskName + '\'' + ", date=" + date + '}'; }}
import java.io.Serializable;import java.util.Objects;public class CompositeTaskId implements Serializable{ private long employee; private long taskId; public CompositeTaskId() { } public CompositeTaskId(long employeeId, long taskId) { this.employee = employeeId; this.taskId = taskId; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CompositeTaskId taskId1 = (CompositeTaskId) o; if (employee != taskId1.employee) return false; return taskId == taskId1.taskId; } @Override public int hashCode() { return Objects.hash(employee, taskId); }}