JPA는 데이터베이스 스키마를 자동 생성하는 기능을 지원한다.
그래서 DB에 미리 만들어 놓지 않아도 JPA를 통해 코드를 작성해서 자동으로 생성시켜줘서 편하다.
클래스의 매핑 정보를 보면 어떤 테이블에 어떤 컬럼을, 어떤 제약조건 등을 사용하는지 알 수 있다.
JPA는 매핑 정보와 DB 방언을 사용해서 DB 스키마를 생성한다.
더보기
// xml 방식 - persistence.xml
<property name="hibernate.hbm2ddl.auto" value="옵션">
// application.properties 방식
spring.jpa.hibernate.ddl-auto=옵션
// application.yml 방식
spring:
jpa:
hibernate:
ddl-auto: 옵션
위에 속성을 추가하면 애플리케이션 실행 시점에 DB 테이블을 자동으로 생성한다.
속성옵션

주의사항
운영중인 서버에서는 절대, 절대 create, create-drop, update를 사용하면 안됩니다.
개발 초기에는 create 또는 update를 사용 하면 편하지만 테스트 서버에서는 update 또는 validate를 사용 하거나 애초에 사용하지 않는게 좋고, 스테이징이나 운영 서버에서는 사용하지 않는 게 좋습니다. update도 잘못되어서 ALTER COLUMN 이 나가면 데이터베이스에 컬럼이 LOCK 되어 버리기 때문입니다.
'java and sping' 카테고리의 다른 글
| [Spring] JPA에 Enum 사용법 (0) | 2023.03.22 |
|---|---|
| [Spring] DTO를 사용하는 이유? (0) | 2023.03.18 |
| [Spring] Spring Data JPA에서의 페이지네이션과 정렬 (1) | 2023.03.17 |
| [Java] Lombok 롬복 라이브러리란? (1) | 2023.01.02 |
| [Spring] DI와 IoC에 관해서 (0) | 2022.07.28 |