기본값 타입

String, int처럼 자바가 제공하는 기본 데이터 타입을 말한다.

e.g. 기본값 타입 알아보기

@Entity
public class Member {

		@Id @GeneratedValue
		private Long id;
		
		private String name;
		private int age;
}

임베디드 타입

JPA에서 사용자가 직접 정의한 값 타입을 말한다.

String, int 처럼 값 타입이다.

e.g. 임베디드 타입 알아보기

(Before) 회원 엔티티에 집 정보까지 데이터를 상세히 갖고 있는다면, 객체지향적이지 않으며 응집력이 떨어진다.

@Entity
public class Member {

		@Id @GeneratedValue
		private Long id;
		
		private String name;

		// 집 주소  표현
		private String city;
		private String street;
}

(After) 집 정보를 갖도록 임베디드 타입을 사용할 수 있다.

@Entity
public class Member {

		@Id @GeneratedValue
		private Long id;
		
		private String name;

		// 집 주소  표현
		@Embedded Address address;
}
@Embeddable
public class Address {
		
		private String city;
		private String street;	
}