Close

JPA - @Embedded Examples

JPA JAVA EE 


@Embedded annotation is used in the entity class. It is placed on a persistent field or property to link to an embeddable class. The embeddable class must be annotated with @Embeddable.


package com.logicbig.example;

import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class EntityA {
@Id
@GeneratedValue
private int id;

@Embedded
private ClassA classARef;

public ClassA getClassARef() {
return classARef;
}

public void setClassARef(ClassA classARef) {
this.classARef = classARef;
}

@Override
public String toString() {
return "EntityA{" +
"id=" + id +
", classARef=" + classARef +
'}';
}
}
Original Post




package com.logicbig.example;

import javax.persistence.Embeddable;
import javax.persistence.Embedded;

@Embeddable
public class ClassB {
private String myStrB;
@Embedded
private ClassA classARef;

public String getMyStrB() {
return myStrB;
}

public void setMyStrB(String myStrB) {
this.myStrB = myStrB;
}

public ClassA getClassARef() {
return classARef;
}

public void setClassARef(ClassA classARef) {
this.classARef = classARef;
}

@Override
public String toString() {
return "ClassB{" +
"myStrB='" + myStrB + '\'' +
", classARef=" + classARef +
'}';
}
}
Original Post




package com.logicbig.example;

import javax.persistence.*;

@Entity
public class EntityA {
@Id
@GeneratedValue
private int id;

@AttributeOverrides({
@AttributeOverride(name = "myStr", column = @Column(name = "MY_STR_COL1")),
@AttributeOverride(name = "myInt", column = @Column(name = "MY_INT_COL1"))
})
@Embedded
private ClassA classARef;

@AttributeOverrides({
@AttributeOverride(name = "myStr", column = @Column(name = "MY_STR_COL2")),
@AttributeOverride(name = "myInt", column = @Column(name = "MY_INT_COL2"))
})
@Embedded
private ClassA classARef2;

public ClassA getClassARef() {
return classARef;
}

public void setClassARef(ClassA classARef) {
this.classARef = classARef;
}

public ClassA getClassARef2() {
return classARef2;
}

public void setClassARef2(ClassA classARef2) {
this.classARef2 = classARef2;
}

@Override
public String toString() {
return "EntityA{" +
"id=" + id +
", classARef=" + classARef +
", classARef2=" + classARef2 +
'}';
}
}
Original Post




package com.logicbig.example;

import javax.persistence.*;

@Entity
public class EntityA {
@Id
@GeneratedValue
private int id;

@Embedded
@AttributeOverrides({
@AttributeOverride(name = "myStr", column = @Column(name = "MY_STR_COL1"))
})
@AssociationOverrides({
@AssociationOverride(
name = "entityBRef", joinColumns = @JoinColumn(name = "EntityAB_JOIN1"))
})
private ClassA classARef;

@Embedded
@AttributeOverrides({
@AttributeOverride(name = "myStr", column = @Column(name = "MY_STR_COL2"))
})
@AssociationOverrides({
@AssociationOverride(
name = "entityBRef", joinColumns = @JoinColumn(name = "EntityAB_JOIN2"))
})
private ClassA classARef2;

public ClassA getClassARef() {
return classARef;
}

public void setClassARef(ClassA classARef) {
this.classARef = classARef;
}

public ClassA getClassARef2() {
return classARef2;
}

public void setClassARef2(ClassA classARef2) {
this.classARef2 = classARef2;
}

@Override
public String toString() {
return "EntityA{" +
"id=" + id +
", classARef=" + classARef +
", classARef2=" + classARef2 +
'}';
}
}
Original Post




See Also