Spring annotation 모음
객체 - 테이블 맵핑 : @Entity, @Table
필드 - 컬럼의 팹핑 : @Column
기본키의 맵핑 : @Id
조인 맵핑 : @ManyToOne, @JoinColumn
@Entity
@Entity 어노테이션을 클래스에 선언하면 그 클래스는 JPA가 관리합니다.
그러므로 DB의 테이블과 Class(VO, DTO)와 맵핑한다면 반드시 @Entity를 붙여주어야 합니다.
@Entity가 붙은 클래스에는 다음 제약사항이 필요합니다.
1. 필드에 final, enum, interface, class를 사용할 수 없습니다.
2. 생성자중 기본 생성자가 반드시 필요합니다.
@Entity의 속성
1. name : 엔티티 이름을 지정합니다. 기본값으로 클래스 이름을 그대로 사용합니다.
@Table
@Table 어노테이션은 맵핑할 테이블을 지정합니다.
@Table의 속성
1. name : 매핑할 테이블의 이름을 지정합니다.
2. catalog : DB의 catalog를 맵핑합니다.
3. schema : DB 스키마와 맵핑합니다.
4. uniqueConstraint : DDL 쿼리를 작성할 때 제약 조건을 생성합니다.
@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 타입에서 사용합니다. 각각 소수점 포함 자리수, 소수의 자리수를 의미합니다.
@Id
JPA가 객체를 관리할 때 식별할 기본키를 지정합니다.
'Java, IntelliJ > Spring' 카테고리의 다른 글
SPRING,JPA 원하는 값 내려주기 방법 모음 총 정리, Projection 방법 모음 (10) | 2021.08.01 |
---|---|
MySQL Datatype 데이터 타입 (0) | 2021.07.20 |
Spring/ SpringBoot 개념 정리 (0) | 2021.07.19 |
JWT토큰이란, 장단점, 구현 (1) | 2021.07.14 |
[Spring]Thymeleaf Js내부에서 사용하기, 로그인 여부에 따라 보이기 (0) | 2021.07.06 |
댓글