JPA 책을 읽다가 기록하고 내 것으로 만들고 싶은 부분 기록 😏
어노테이션
@JoinColumn
외래키를 매핑 할 떄 사용한다.
@Column
객체 필드를 테이블 컬럼에 매핑 한다.
@Enumerated
자바의 enum 타입을 매핑할 때 사용.
@Temporal
날짜 타입을 매핑할 때 사용.
@Lob
데이터 베이스 BLOB, CLOB 타입과 매핑한다.
@LOB 에는 지정할 수 있는 속성이 없다.
대신에 매핑하는 필드 타입이 문자면 CLOB 으로 매핑하고 나머지는 BLOB 으로 매핑한다.
- CLOB : String, char[], java.sql.CLOB
- BLOB : byte[], java.sql.BLOB
@Transient
이필드는 매핑하지 않는다.
따라서 데이터 베이스에 저장하지 않고 조회 하지도 않는다.
객체에 임시로 어떤 값을 보관하고 싶을 때 사용한다.
@Accss
JPA 가 엔티티 데이터에 접근하는 방식을 지정한다.
@ManyToOne
다대일 관계를 나타낸다. 연관관계를 매핑할 때 이렇게 다중성을 나타내는 어노테이션을 필수로 사용해야 한다.
@OneToMany
일대다 관계를 나타낸다.
@OneToMany(mapperBy="")
Mapper by 의 속성 값은 연관관계의 주인을 명시해준다.
Mapper by 의 속성은 항상 OneToMany 에만 설정할 수 있다.
ManyToOne 는 연관 관계에 주인이 될 수 없으므로 설정 할 수 없다
@JoinColumn(name="BINSOO_ID")
조인 컬럼은 외래키를 매핑할 때 사용한다.
name 속성에는 매핑할 외래 키 이름을 지정한다.
생략도 가능하다.
@Inheritance
상속 매핑의 부모 클래스에 정의한다.
EX
@Inheritance(strategy = Inheritance.Type.JOINED)
@DescriminatorColumn
부모 클래스에 구분 컬럼을 지정한다.
@DescriminatorValue
엔티티를 저장할 때 구분 컬럼에 입력 할 값을 지정한다.
@PrimaryKeyjoinColumn
기본키 컬럼명을 변경하고 싶을 때 사용한다.
@AttributeOverrides
@AttributeOverride
부모로부터 물려받은 매핑 정보를 재정의 할 때 사용한다.
@AssociationOverrides
@AssociationOverride
부모로부터 물려받은 연관 관계를 재정의 할 때 사용한다.
'개발중 > Java Persistence API (JPA)' 카테고리의 다른 글
JPA - 값 타입 컬렉션 (0) | 2021.06.30 |
---|---|
JPA - 즉시 로딩과 지연 로딩 (0) | 2021.06.28 |
JPA / 프록시 알아보기 (0) | 2021.06.28 |
식별 관계와 비식별 관계 구분 (0) | 2021.06.25 |
JPA / 객체 간 연관관계 매핑 - 기록 (0) | 2021.06.25 |