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을 생성한다.
'JPA' 카테고리의 다른 글
| 2월 13일 JPA JPQL(java persistence query language) (0) | 2023.02.13 |
|---|---|
| 2월 10일 JPA 객체지향쿼리 언어(JPQL) (표준문법) (0) | 2023.02.10 |
| 2월 9일 JPA 값 타입을 엔티티로 승급 (0) | 2023.02.09 |
| 2월 9일 JPA 값타입 컬렉션 조회 예제 지연로딩 전략사용 (0) | 2023.02.09 |
| 2월 7일 JPA 값타입 컬렉션에 값 넣기 (0) | 2023.02.07 |