JSheep`s Album

JPA Annotation 본문

1st Album - Dev/03. Spring Data, JPA

JPA Annotation

JSheep 2022. 3. 27. 15:30
1. @Entity
  • 테이블과 링크될 클래스임을 나타냅니다.
  • 기본값으로 클래스의 카멜케이스 이름을 스네이크 네이밍으로 테이블 이름을 지칭합니다.
    • ex) SalesManager java -> sales_manager table

 

2. @Id

  • 해당 테이블의 PK 필드를 나타냅니다.

 

3. @GeneratedValue

  • PK의 생성 규칙을 나타냅니다.
  • 스프링 부트 2.x에서는 GenerationType.IDENTITY 옵션을 추가해야만 auto_incerment가 됩니다.
  •  

 

4. @Column

  • 테이블의 컬럼을 나타내며 굳이 선언하지 않더라도 해당 클래스의 필드는 모두 컬럼이 됩니다.
  • 사용하는 이유는, 기본값 외에 추가로 변경이 필요한 옵션이 있으면 사용합니다.
  • 문자열의 경우 varchar(255)가 기본값인데, 사이즈 및 타입을 변경하고 싶을때 사용됩니다.

 

5. @NoArgsConstructor

  • 기본 생성자 자동 추가
  • public name() {}와 같은 효과

 

6. @Getter

  • 클래스 내 모든 필드의 Getter 메소드를 자동생성

7. @Builder

  • 해당 클래스의 빌더 패턴 클래스를 생성
  • 생성자 상단에 선언 시 생성자에 포함된 필드만 빌더에 포함
Comments