Close

JPA - @EmbeddedId Examples

JPA JAVA EE 

import javax.persistence.EmbeddedId;
import javax.persistence.Entity;

@Entity
public class Customer {
@EmbeddedId
private CustomerId id;
private String address;

public CustomerId getId() {
return id;
}

public void setId(CustomerId id) {
this.id = id;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

@Override
public String toString() {
return "Customer{" +
"id=" + id +
", address='" + address + '\'' +
'}';
}
}
import javax.persistence.Embeddable;
import java.io.Serializable;

@Embeddable
public class CustomerId implements Serializable {
private String name;
private String phoneNumber;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPhoneNumber() {
return phoneNumber;
}

public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}

@Override
public String toString() {
return "CustomerId{" +
"name='" + name + '\'' +
", phoneNumber='" + phoneNumber + '\'' +
'}';
}
}




import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import java.util.Date;

@Entity
public class Task {
@EmbeddedId
private CompositeTaskId taskId;
private String taskName;
private Date date;

public Task() {
}

public Task(CompositeTaskId taskId) {
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 +
", taskName='" + taskName + '\'' +
", date=" + date +
'}';
}
}
import javax.persistence.Embeddable;
import java.io.Serializable;
import java.util.Objects;

@Embeddable
public class CompositeTaskId implements Serializable {
private int employeeId;
private int taskId;

public CompositeTaskId() {
}

public CompositeTaskId(int employeeId, int taskId) {
this.employeeId = 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 (employeeId != taskId1.employeeId) return false;
return taskId == taskId1.taskId;
}

@Override
public int hashCode() {
return Objects.hash(employeeId, taskId);
}

@Override
public String toString() {
return "CompositeTaskId{" +
"employeeId=" + employeeId +
", taskId=" + taskId +
'}';
}
}
Original Post




import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.MapsId;
import java.util.Date;

@Entity
public class Task {
@EmbeddedId
private CompositeTaskId taskId;

@MapsId("employeeKey")
@ManyToOne
private Employee employee;

private String taskName;
private Date date;

public Task() {
}

public Task(CompositeTaskId taskId, Employee employee) {
this.taskId = taskId;
this.employee = employee;
}

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 javax.persistence.Embeddable;
import java.io.Serializable;
import java.util.Objects;
@Embeddable
public class CompositeTaskId implements Serializable{
private long employeeKey;
private long taskId;

public CompositeTaskId() {
}

public CompositeTaskId(long employeeId, long taskId) {
this.employeeKey = 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 (employeeKey != taskId1.employeeKey) return false;
return taskId == taskId1.taskId;
}

@Override
public int hashCode() {
return Objects.hash(employeeKey, taskId);
}

@Override
public String toString() {
return "CompositeTaskId{" +
"employeeKey=" + employeeKey +
", taskId=" + taskId +
'}';
}
}
Original Post




See Also