JPA에서는 Entity 내부의 값을 더 응집시켜 객체로 데이터를 표현합니다.
JPA를 사용하면서 자주 보게되는 @Embedded와 @Embeddable 어노테이션을 공부해봅니다.
@Entity
@Table( name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.Identify)
@Column( name ="user_id")
private Long id;
private String name;
private String phoneNum;
private String zipCode;
private String address;
private String addressDetail;
}
@Embedded
와 @Embeddable
어노테이션 입니다.@Entity
@Table( name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.Identify)
@Column( name ="user_id")
private Long id;
private String name;
private String phoneNum;
@Embedded
private Address address;
}
@Embeddable
public class Address{
private String zipCode;
private String address;
private String addressDetail;
}
이렇게 클래스를 나누어 각각 해당 어노테이션을 붙여주면 되는데 @Embedded는 생략이 가능합니다.
결과 적으로 아래 사진처럼 컬럼들이 잘 생긴 것을 알 수 있습니다.
정리