Value type : String, Integer, Double, Data, etc...
Entity type : Customer, Student, Employee, etc...
밸류 타입은 lifecycle이 없고 identifier가 없다.
엔티티 타입은 lifecycle이 있고 identifier가 있다.
Category | Example |
Basic | String, Integer, Double, Boolean, Date, etc... |
Embedded | Address, Phone number ( any custom object ) |
Collection | Set, List, Map etc @ElementCollection |
@Embeddable : Embedded value type인 클래스 정의할 때 사용된다.
@Embedded : Embedded value type 클래스 필드 위에 사용
그러니까 클래스 안에 다른 클래스를 넣는 것
예를 들면 주소정보를 갖고있는 주소 클래스를 회원 클래스에 넣는다든가
여기서는 학생 정보에 주소 정보가 있는 상황
constructor, getter and setter 추가해준다.
@Embedded를 넣을 건지 안 넣을 건지는 선택
Address 클래스는 Embeddable이기 때문에 @Embedded는 필수 아님
필드값 썼으니 getter/setter 와 생성자 넣자
Reuse
customize column names
칼럼 이름을 내 맘대로 하고 싶을 때 사용하는 기능
Enums
Enum Types (The Java™ Tutorials > Learning the Java Language > Classes and Objects) (oracle.com)
@Enumerated
Enum타입을 참조할 때 사용하는 어노테이션
enum 타입을 만든다.
entity에서 필드 추가하고 생성자, getter/setter, constructor를 만든다.
'컴퓨터공학 > Hibernate' 카테고리의 다른 글
Hibernate> Inheritance Mapping> Joined Tables and Mapped Superclass (0) | 2021.12.04 |
---|---|
Hibernate> Inheritance Mapping> Table Per Class (0) | 2021.12.04 |
Hibernate> Inheritance Mapping> Single Table Strategy (0) | 2021.12.04 |
Hibernate> Mapping Collection> Map, Sorted Set, Sorted Map (0) | 2021.11.20 |
Hibernate> Mapping Collection framework - Set and List (0) | 2021.11.18 |