JPA : Annotation 정리

zyan·2021년 8월 19일
0

JPA

목록 보기
2/6

JPA의 Anntation정리 - 배운 날마다 추가정리

@Entity

@Entity를 클래스에 선언하면 해당 클래스는 JPA가 관리하게 된다. DB와 클래스를 매핑하기 위해 사용한다. 클래스 이름이 그대로 엔티티 이름이 된다.

@Entity가 붙은 클래스에서는 다음 제약사항이 따른다.

  1. 필드에 final, enum, interface, class를 사용할 수 없다.
  2. 생성자 중, 기본 생성자가 반드시 필요하다.

@Column

@Column은 객체 필드와 DB테이블 컬럼을 매핑한다.

@Column의 속성은 아래와 같다.

  1. name : 맵핑할 테이블의 컬럼 이름을 지정
  2. insertable : 엔티티 저장시 선언된 필드도 같이 저장
  3. updateable : 엔티티 수정시 이 필드를 함께 수정
  4. table : 지정한 필드를 다른 테이블에 맵핑
  5. nullable : NULL을 허용할지, 허용하지 않을지 결정
  6. unique : 제약조건을 걸 때 사용
  7. columnDefinition : DB 컬럼 정보를 직접적으로 지정할 때 사용
  8. length : varchar의 길이를 조정 - 기본값은 255
  9. precsion, scale : BigInteger, BigDecimal 타입에서 사용, 각각 소수점 포함 자리수, 소수의 자리수를 의미

Lombok library

@Data

@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashcode 를 한꺼번에 설정한다.

@ToString

toString() 메소드를 생성한다. @ToString(exclude={“제외값”})으로 제외시키고 싶은 값을 설정할 수 있다.

@Getter@Setter

getter() setter() 메소드를 생성한다.

@NoArgsConstructor

파라미터가 없는 기본 생성자 생성

@AllArgsConstructor

모든 필드 값을 파라미터로 받는 생성자 생성

0개의 댓글