JPA의 DDL-AUTO가 만들어내는 DDL은 어떤 모습일까
- JPA DDL-AUTO 옵션은
create, none, create-drop, update, validate 등이 있으며, 운영 환경에서는 validate 또는 옵션 제거를 권장합니다. ⚠️
- 로깅 설정을 통해 JPA가 생성하는 DDL 스크립트를 콘솔에서 확인할 수 있습니다. ️🔥
@GeneratedValue 전략은 IDENTITY, SEQUENCE, TABLE, UUID 네 가지가 있습니다. ⚙️
IDENTITY 전략은 데이터베이스의 자동 증가 기능을 이용해 ID를 생성합니다. 🔢
SEQUENCE 전략은 시퀀스 객체를 사용하여 ID를 생성하며, SEQUENCE GENERATOR 어노테이션으로 시퀀스 객체를 정의합니다. 🔗
- 1대N 관계에서
@JoinColumn은 FK 칼럼명을 지정하고, @OneToMany의 mappedBy는 관계의 주인 설정을 위해 사용됩니다. 🔑
- N대N 관계에서는 조인 테이블을 생성하여 관계를 관리하며,
@JoinTable 어노테이션을 사용합니다. 🤝
- 칼럼 어노테이션을 통해 칼럼의 속성(이름, 널 허용 여부, 길이, 유니크 제약 조건 등)을 정의할 수 있습니다. 📝
- 데이터베이스 네이밍 규칙에 맞춰 DDL 스크립트를 수정해야 할 수 있습니다. ✍️
- 스프링 부트 및 데이터베이스 버전에 따라 DDL 생성 결과가 달라질 수 있습니다. 🔄