반응형
@Getter
@NoArgsConstructor //??
@Entity
@Table
public class Board {


@NoArgsConstructor

Lombok을 사용하면 생성자도 자동으로 생성할 수 있습니다. @NoArgsConstructor 어노테이션은 파라미터가 없는 기본 생성자를 생성해주고, @AllArgsConstructor 어노이션은 모든 필드 값을 파라미터로 받는 생성자를 만들어줍니다. 마지막으로 @RequiredArgsConstructor 어노테이션은 final이나 @NonNull인 필드 값만 파라미터로 받는 생성자를 만들어줍니다. 


출처 : http://www.daleseo.com/lombok-popular-annotations/




@Column
@Enumerated(EnumType.STRING)
private BoardType boardType;


@Enumerated

Enum 타입 매핑용 어노테이션. 

자바 enum형과 데이터베이스 데이터 변환을 지원.

실제로는 자바 enum형이지만 데이터베이스에서는 String형 변환하여 저장 하겠다는 선언 




@OneToOne(fetch = FetchType.LAZY)
private User user;


@OneToOne

 현재의 도메인과 현재 도메인의 필드인 User 도메인이 1:1 관계라는 것을 설정하는 어노테이션 

실제 DB에 저장 될 때는 User 객체가 저장되는 것이 아닌 User 도메인의 PX 값이 저장 됨.

fetch 는 eager  // lazy 두 종류가 있고

전자는 처음 Board 도메인을 조회할 대 즉시 관련 User 객체를 조회 하는 의미

후자는 User객체를 조회하는 시점이 아닌 객체가 실제로 사용 될 때 조회 한다는 의미




반응형

+ Recent posts