kok202
JPA : Embeddable

2019. 6. 17. 14:14[정리] 기능별 개념 정리/JPA

출처 : https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html

create table Contact (
    id integer not null,
    first varchar(255),
    last varchar(255),
    middle varchar(255),
    notes varchar(255),
    starred boolean not null,
    website varchar(255),
    primary key (id)
)
@Data
@Entity
@Table("contact")
public static class ContactEntity {
    @Id
    private Integer id;

    private Name name;

    private String notes;

    private URL website;

    private boolean starred;
}
@Data
@Embeddable
public class Name {
    private String first;

    private String middle;

    private String last;
}

 

Value type : 생명주기를 가지고 있지 않은 데이터의 일부, 엔티티가 소유하고 있는 데이터의 타입

1. Basic : Primitive type 을 포함한 URL 과 같이 DB 레이어에서 자주 사용되어 이미 JPA 쪽에서 만들어둔 데이터 타입

2. Embeddable : 위 예시에서의 Name 

3. Collection : List 등...