@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "DTYPE")
: 부모 클래스에 구분 컬럼 지정@DiscriminatorValue("A")
: 구분 컬럼에 입력할 값 지정@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "DTYPE")
@DiscriminatorValue("A")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@MappedSuperclass
@AttributeOverride(s)
: 물려받은 매핑 정보 재정의, name 속성은 부모 컬럼, column 속성은 재정의할 컬럼@AssociationOverride(s)
: 연관관계 재정의@IdClass(ParentId.class)
@Id @Column(name = "parent_id1") private String id1;
@Id @Column(name = "parent_id2") private String id2;
@ManyToOne
@JoinColumns({
@JoinColumn(name = "parent_id1", referencedColumnName = "parent_id1"),
@JoinColumn(name = "parent_id2", referencedColumnName = "parent_id2")
})
private Parent parent;
@EmbeddedId
@Embeddable
@MapsId("parentId")
@OneToOne
@JoinTable(name = "parent_child",
joinColumns = @JoinColumn(name = "parent_id"),
inverseJoinColumns = @JoinColumn(name = "child_id"))
private Child child;
@OneToOne(mappedBy = "child")
private Parent parent;
@SecondaryTable(name = "추가할테이블명", pkJoinColumns = @PrimaryKeyJoinColumn(name = "추가할테이블명_id"))
@Column(table = "추가할테이블명")
@SecondaryTables({})