본문 바로가기
Spring/Spring Data JPA

Spring JPA Hibernate Embeddable(PK composite)

by 아이티.파머 2015. 11. 30.
반응형


http://www.javabeat.net/embeddable-embedded-embeddedid-jpa-annotations/

http://uaihebert.com/tutorial-jpa-composite-primary-key/

http://ldg.pe.kr/framework_reference/hibernate_annotations/ver3.1beta3/html/entity.html


* Criteria 예시 블로그

http://antop.tistory.com/30





@Entity
@Getter
@Setter
@Table(name = "campaign")
@ToString( exclude = "mediaManagementEntity")
public class CampaignEntity implements Serializable {

/**
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;

@Embeddable
@Getter
@Setter
@EqualsAndHashCode
public static class CampaignPK implements Serializable {

/**
* serialVersionUID.
*/
private static final long serialVersionUID = 1L;

/**
* 캠페인 아이디.
*/
private String campaignId;

/** 미디어 아이디 ( 구글, 페이스북....). */
private String mediaId;

}

@EmbeddedId
private CampaignPK campaignPK;

/**
* 캠페인명.
*/
private String campaignName;

/**
* 목표(캠페인 타입 : 동영상 / 배너 / 검색).
*/
private String objective;

/**
* 지면 플랫폼 정보(유트브/검색/앱/페이스북/인스타/배너).
*/
private String adNetworkType;

/**
* 상태 (유효/삭제/일시정지/보관).
*/
private String status;

/**
* 생성시간.
*/
private Date createdTime;

/**
* 시작일시.
*/
private Date startTime;

/**
* 종료일시.
*/
private Date endTime;


///////////////////////////////////////////
//Association 설정
///////////////////////////////////////////

/**
* 미디어관리.
*/
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="mediaId", insertable = false, updatable = false, referencedColumnName = "mediaId")
private MediaManagementEntity mediaManagementEntity;


}


반응형

'Spring > Spring Data JPA' 카테고리의 다른 글

Jpa JSON 순환참조 @ResponseBody  (0) 2017.09.21
JPA foreign key 생성(@MapsId @ManyToOne)  (0) 2016.11.29
Spring JPA QueryMethod(findBy...deleteBy)  (0) 2016.10.27
Spring Data JPA / QueryDSL  (0) 2015.11.17
Spring DATA JPA / Hibernate  (0) 2015.01.06