728x90
반응형
@Embeddable 애노테이션을 지정한 클래스를 밸류 클래스라고 합니다. 밸류 클래스란 int, double 처럼 하나의 값을 나타내는 클래스를 말합니다. 보통 주소(address)라는 값을 저장하기 위해서는 아래와 같이 String 변수에 저장하여 관리할 것입니다.
package com.example.model.entity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.Embeddable;
import java.util.Objects;
@Embeddable
@Setter
@Getter
@ToString
public class Address {
private String city;
private String street;
private String zipcode;
public Address() {
}
public Address(String city, String street, String zipcode){
this.city = city;
this.street = street;
this.zipcode = zipcode;
}
@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(city, address.city) &&
Objects.equals(street, address.street) &&
Objects.equals(zipcode, address.zipcode);
}
@Override
public int hashCode() {
return Objects.hash(city, street, zipcode);
}
}
package com.example.model.entity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Getter
@Setter
@ToString(exclude = {"orders"})
@Entity
public class Member extends BaseEntity {
@Id
@GeneratedValue
@Column(name="MEMBER_ID")
private Long id;
private String name;
@Embedded
private Address address;
@OneToMany(mappedBy = "member")
private List<Order> orders = new ArrayList<Order>();
}
728x90
반응형
'프로그램 > 스프링' 카테고리의 다른 글
[PWA] 자바로 pwa push 알림 기능 개발하기(1) (0) | 2021.08.02 |
---|---|
java.security.NoSuchProviderException: no such provider: BC 에러 발생시 (0) | 2021.07.31 |
모델4 공통 상속 (0) | 2021.06.22 |
모델3 연관관계 (0) | 2021.06.22 |
모델2 -연관관계 (0) | 2021.06.22 |
댓글