GeneratedValue(strategy = GenerationType.IDENTITY)
1.기본키 생성을 데이터베이스에게 위임하는 방식으로 id값을 따로 할당하지 않아도 데이터베이스가 자동으로 AUTO_INCREMENT를 하여 기본키를 생성해준다.
2.기본키를 자동으로 생성할 때에는 @Id와 @GenerratedValue 어노테이션이 함께 사용되어야 한다.
예 :
@Entity
public class PkEx() {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
}
빌더 패턴은 생성 패턴 중 하나이다. 또, 생성 패턴은 "인스턴스"를 만드는 절차를 "추상화"하는 패턴이다.
생성 패턴을 이용하면, 무엇이 생성되고, 어떻게 결합하는지에 대한 부분을 가려준다.
생성자에 매개변수가 많다면 빌더를 고려하라
Lombok에는 @Builder Annotation도 있다. 이는 모델 객체를 생성할 때 Builder를 자동으로 추가해 주는 Annotation이다. 이를 이용하면 Builder Pattern을 아주 손쉽게 적용할 수 있다.
@NoArgsConstructor
기본 생성자를 생성해준다.
이 경우 초기값 세팅이 필요한 final 변수가 있을 경우 컴파일 에러가 발생함으로 주의한다.
@NoArgsConstructor(force=true) 를 사용하면 null, 0 등 기본 값으로 초기화 된다.
Board board = new Board();
final 변수, Notnull 표시가 된 변수처럼 필수적인 정보를 세팅하는 생성자를 만들어준다.
Board board = new Board(2L);
전체 변수를 생성하는 생성자를 만들어준다.
Board board = new Board(2L, "content value");
출처: https://goyunji.tistory.com/98 [개발하는 농부:티스토리]