728x90
객체와 테이블 매핑 : @Entity , @Table
필드와 컬럼 매핑 : @Column
기본 키 매핑 : @Id
연관관계 매핑 : @ManytoOne, @JoinColumn
@Entity
@Entity가 붙은 클래스는 JPA가 관리 , 엔티티라 한다.
@JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수
-주의사항
- 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자)
- final클래스 enum , interface,inner 클래스 사용x
- 저장할 필드에 final 사용x
매핑 어노테이션 정리
@Column : 컬럼매핑
- name : 필드와 매핑할 테이블 컬럼 이름
- insertable , updatable : 등록, 변경 가능여부
- nullable : null 값의 허용여부 설정
- coulmnDefinition : 데이터베이스 컬럼 정보를 직접 줄 수 있다.
ex) (coulmnDefinition = varchar(100) default 'EMPTY')
@Enumerated : enum 타입 매핑
- EnumType.ORDUNAL: enum 순서를 데이터 베이스에 저장 (기본타입)
- EnumType.STRING: enum 이름을 데이터 베이스에 저장 (무조건 변경 하여 사용)
@Lob : BLOB, CLOB 매핑 <script 만들때 사용>
지정할수 있는 속성이 없다.
@Transient : db와 관계없는 테이블
db와의 관계를 끊는 테이블에 적용한다
728x90
'개-발 > Java + Spring + Kotlin' 카테고리의 다른 글
[Spring] 연관관계 단방향, 양방향 (0) | 2022.12.27 |
---|---|
[Spring] 기본키 매핑 (Id , GeneratedValue) (0) | 2022.12.26 |
[JAVA] Stream / 중간연산 (0) | 2022.12.12 |
[JAVA] 컬렉션 프레임워크 ( Map ) (0) | 2022.12.04 |
[JAVA] 컬렉션 프레임워크 ( List, Set ) (0) | 2022.12.04 |