본문 바로가기

컴퓨터공학/Hibernate

Hibernate> Mapping Components Embeddable and Enums

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)

 

Enum Types (The Java™ Tutorials > Learning the Java Language > Classes and Objects)

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated

docs.oracle.com

 

@Enumerated

Enum타입을 참조할 때 사용하는 어노테이션

 

enum 타입을 만든다.

 

 

 

entity에서 필드 추가하고 생성자, getter/setter, constructor를 만든다.