본문 바로가기

JPA

2월 9일 JPA 실전예제 6 값 타입 매핑

address 라는 타입을 값 매핑 해보자

 

1.공통적으로 사용되는 필드나 임베디드로 만들필드를 정한다.

city , street , zipcode

 

2.임베디드 클래스를 생성한다 

*생성자 필수

 

@Embaddable //임베디드 선언

public class Address{

@Column(length = 0)

private String city;

 

@Column(length = 20)

private String street;

 

@Column(length = 5)

private String zipcode;

 

//해당 필드값을 이용한 메서드 정의가 가능

임베디드 타입은 불변이기 때문에 set메서드가 없어야 한다.

 

public void Address(){}

 

@override

public boolean equals(){};

 

@override

public int hashCode(){};

 

값 타입에서 꼭 equals와 hashCode를 오버라이드 해준다.

 

}

 

3.사용

member에서 필드로서 사용

@Embadded //임베디드 사용을 선언

private Address address ; 

 

member에서는 해당 Embadded필드에 대해서 get , set을 생성한다.