실전 예제 5번에서 추가 된 것은 ADDRESS를 value type 값 타입으로 추가하였다.
Address
package jpabook.jpashop.domain;
import javax.persistence.Embeddable;
import java.util.Objects;
@Embeddable
public class Address {
private String city;
private String street;
private String zipcode;
public String getCity() {
return city;
}
private void setCity(String city) {
this.city = city;
}
public String getStreet() {
return street;
}
private void setStreet(String street) {
this.street = street;
}
public String getZipcode() {
return zipcode;
}
private void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
//equals를 꼭 만들어야 둘을 비교 할 수가 있다.
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Address address = (Address) o;
return Objects.equals(getCity(), address.getCity()) && Objects.equals(getStreet(), address.getStreet()) && Objects.equals(getZipcode(), address.getZipcode());
}
@Override
public int hashCode() {
return Objects.hash(getCity(), getStreet(), getZipcode());
}
//이런 의미 있는 메소드를 만들 수 있다.
public String fullAddress() {
return getCity() + " " + getStreet() + " " + getZipcode();
}
}
Member, Delivery
@Embedded
private Address address;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
이것을 Member와 Delivery에 추가해주면 된다.
강의 출처 : https://www.inflearn.com/course/ORM-JPA-Basic
'Spring JPA 공부 > 자바 ORM 표준 JPA 프로그래밍' 카테고리의 다른 글
JPA - JPQL 기본 문법과 기능 (0) | 2022.12.30 |
---|---|
JPA - 객체지향 쿼리 언어(JPQL) 소개 (0) | 2022.12.30 |
JPA - 값 타입 (0) | 2022.12.29 |
실전 예제 5 - 연관관계 관계 (0) | 2022.12.28 |
JPA -프록시와 연관관계 관리 (0) | 2022.12.28 |