spring annotation 정리3 @Entity
2023. 1. 8. 04:11ㆍspring
안녕하세요. spring으로 프로젝트를 진행하면서 백엔드 개발자를 준비하고 있는 학생입니다. 공부를 하면서 어노테이션의 역할을 잘 모르고 사용하는 경우가 많아서 제가 이해가 편하도록 정리를 해보려고 합니다. 글을 읽고 나서 잘못된 점이나 부족한 점 댓글로 알려주시면 감사하겠습니다.
@Entity
클래스 위에 선언하여 JPA에서 정의된 필드들을 바탕으로 데이터베이스에 테이블을 만들어준다.
@Builder
해당 클래스에 해당하는 엔티티 객체를 만들 때 빌더 패턴을 이용할 수 있도록 해준다.
@AllArgsConstructor선언된 모든 필드를 파라미터로 갖는 생성자를 자동으로 만들어준다.
@NoArgsConstructor
기본생성자를 자동으로 만들어준다.
@Getter
각 필드값을 조회할 수 있는 getter를 자동으로 생성해준다.
@Id
해당 엔티티의 pk를 지정해준다.
@GeneratedValue
pk를 생성해주는 전략을 명시하는데 사용한다.
@GeneratedValue의 옵션
1. Auto
특정 db에 맞게 자동으로 선택하는 옵션
IDENTITY, SEQUENCE, TABLE 방법 중 하나를 자동으로 선택한다.
2. IDENTITY
entity를 등록할 때 db에서 AUTO_INCREAMENT를 하여 PK를 생성 후 insert 한다.
ex) mysql
사용방법
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Entity
public class Items {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer price;
private String description;
private Integer quantity;
}
'spring' 카테고리의 다른 글
| 인텔리제이에서 jdbc 사용시 아이디, 비밀번호 안전하게 넘기는 방법 (0) | 2023.05.23 |
|---|---|
| spring annotation 정리2 @Service (0) | 2023.01.08 |
| spring annotation 정리1 @Controller (0) | 2023.01.08 |
| spring field id doesn't have a default value (0) | 2022.12.18 |