엔티티 매핑
- 객체와 테이블 매핑: @Entity, @Table
- 필드와 컬럼 매핑: @Column
- 기본 키 매핑: @Id = PK
- 연관관계 매핑: @ManyToOne, @JoinColumn
[Entity]
@Entity가 붙은 클래스는 JPA가 관리
- 기본 생성자는 필수
- final 클래스, enum, interface, inner 클래스는 사용하면 안됨
- 저장할 필드에는 final 필드를 사용하지 않는다.
[데이터베이스 스키마 자동 생성]
DDL을 애플리케이션 실행 시점에 자동 생성
테이블 중심 -> 객체 중심
- 이렇게 생성된 DDL은 불안할 수 있으므로 운영서버에서는 사용 지양
데이터베이스 스키마 자동 생성 - 주의
운영 장비에는 절대 create, create-drop, update를 사용하면 안됨.
테스트 서비는 update 또는 validate!! -> 데이터 날아감..
스테이징 및 운영 서버는 validate 또는 none
[필드랑 컬럼 매핑]
@Id -> PK
@Enumerated -> db에는 enum타입이 없는데, enum 타입을 매핑할 때 사용
@Temporal -> 생성날짜, 삭제날짜
@Lob -> varchar를 넘어서는 큰 콘텐츠 삽입
@Column
- Option
@Enumerated
- 기본 타입 Integer
- String으로 타입 변경 가능
- enum타입에서 나중에 0번째에 데이터를 추가하면 숫자와 매치되는 값이 달라서 큰 에러가 날 수 있음, 그러므로 되도록 타입을 String으로 변경해서 사용할 것.
'Web BackEnd > TIL Memo' 카테고리의 다른 글
220320 TIL 플러시, 준영속 상태 (0) | 2022.03.21 |
---|---|
220318 TIL 메모, 영속성 컨텍스트 (0) | 2022.03.18 |
220317 TIL 메모 JPA Entity (0) | 2022.03.18 |
좋은 객체 지향 설계의 5가지 원칙(SOLID) (0) | 2022.01.09 |
이너 클래스와 이너 인터페이스 (0) | 2022.01.05 |