개발이글스
[Spring] 스프링부트 Annotation(2) 본문
--JPA Annotaiton
-jpa 를 사용하면 DB 데이터에 작업할 경우 실제 쿼리를 사용하지 않고 Entity 클래스의 수정을 통해 작업한다.
@Entity
- 실제 DB 의 table 과 매칭될 class 임을 명시한다. 즉, table 과 링크될 class임을 나타냄.
@Table
- Entity Class 에 mapping 할 table 정보를 알려준다. ex) @Table(name = "Member")
만약 이 어노테이션을 생략한다면 Class 이름을 테이블 이름 정보로 자동매핑한다.
@Id
- 해당 테이블의 pk field 를 나타낸다.
@GeneratedValue
- pk의 생성 규칙을 나타냄. 기본값은 AUTO 이고, MySQL 의 auto_increment 와 같이 자동증가하는 정수형 값이 됨.
@GeneratedValue(strategy = GenerationType.AUTO) //기본 키 (PK) 자동생성해주는 어노테이션
@Column
- Table 의 컬럼을 나타내며, 굳이 선언하지 않더라도 해당 Class 의 필드는 모두 컬럼이 된다. 예) 이름, 나이, 가격 등등
ex) @Column(name = "username")
@Column 을 사용하는 이유는, 기본값 외에 추가로 변경이 필요한 옵션이 있을 경우 사용.
@Getter
- Class 내의 모든 field 의 Getter method를 자동 생성한다.
@Setter
- Class 내의 모든 field 의 Setter method를 자동 생성한다.
-> Controller 에서 @RequestBody 로 외부에서 데이터를 받는 경우엔 기본생성자 + set method 를 통해서만 값이 할당된다. 그래서 이때만 setter를 허용한다. Entity Class 에는 Setter 를 설정하면안된다. 차라리 DTO 클래스를 생성해서 DTO 타입으로 받도록 하자.
@ToString
- Class 내 모든 필드의 ToString method 를 자동생성한다.
'Programming > Spring' 카테고리의 다른 글
[Spring] 스프링부트 Annotation(1) (0) | 2023.01.03 |
---|---|
[Spring] 빌드 툴 - maven (0) | 2023.01.03 |
[Spring] Build Tool (빌드 관리 도구) (0) | 2022.12.29 |
[Spring] Entity & Repository (0) | 2022.09.28 |
[Spring] MVC 패턴 (0) | 2022.09.19 |