728x90

Address 값 타입 추가
@Embeddable
public class Address {
@Column(length = 10)
private String city;
@Column(length = 20)
private String street;
@Column(length = 5)
private String zipcode;
public String fullAddress(){
return getCity() + " " + getStreet() + " " + getZipcode();
}
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;
}
@Override
public boolean equals(Object o) {
//필드에 직접 접근하면 프록시에 접근할수 있긴때문에 getter 를 쓰도록 짜는게 좋다
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());
}
}
값 타입 사용

728x90
'자바 ORM 표준 JPA 프로그래밍(인프런)' 카테고리의 다른 글
| Ch10. 객체지향 쿼리 언어1(기본 문법) - 기본 문법과 쿼리 API (0) | 2021.12.17 |
|---|---|
| Ch10. 객체지향 쿼리 언어1(기본 문법) - 객체지향 쿼리 언어(JPQL) 소개 (0) | 2021.12.17 |
| Ch09. 값 타입 - 값 타입 컬렉션 (0) | 2021.12.16 |
| Ch09. 값 타입 - 값 타입의 비교 (0) | 2021.12.16 |
| Ch09. 값 타입 - 값 타입과 불변 객체 (0) | 2021.12.16 |