Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발이글스

[Spring] 스프링부트 Annotation(2) 본문

Programming/Spring

[Spring] 스프링부트 Annotation(2)

지윤이글스 2023. 1. 3. 16:59

--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