본 글은 인프런의 김영한님 강의 자바 ORM 표준 JPA 프로그래밍 - 기본편
을 수강하며 기록한 필기 내용을 정리한 글입니다.
-> 인프런
-> 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의
JPA에서 활용할 수 있는 property이다.
해당 property를 사용하면, 프로젝트가 실행되는 시점에 JPA가 관리하고 있는 엔티티(클래스)들의 정보를 토대로 DDL을 생성하여 DB에 전송해준다.
즉, 이걸 추가하고 JPA 내에서 DB 테이블과 연결할 클래스들 만들어놓고 실행하면, 프로젝트가 실행될 때 연결된 DB에 알아서 테이블 만들어 준다.
DDL?? -> DDL vs DML vs DCL
- DDL (Data Definition Language)
-> 스키마, 테이블, 제약조건 등 DB를 정의하는 언어
-> CREATE, ALTER, DROP, TRUNCATE- DML (Data Manipulation Language)
-> DB에 저장된 데이터를 조회하고 넣고 빼고 수정하는 언어
-> SELECT, INSERT, UPDATE, DELETE- DCL (Data Control Language)
-> DB의 커밋, 롤백과 권한 관련 정보를 제어하는 언어
-> COMMIT, ROLLBACK, GRANT, REVOKE
보통은 DB에 테이블들 다 만들어 놓고 여기에 맞춰서 서버 개발을 시작하지만(DB 테이블 중심 개발),
해당 기능을 활용하면 그럴 필요 없이 클래스 다 만들어 놓고 매핑만 잘 해두면 프로젝트 실행할 때 JPA가 알아서 DDL 만들고 보내서 DB에 테이블을 만들어 준다.(객체 중심 개발)
-> DB 테이블을 객체마냥 쓸 수 있게 JPA가 열심히 도와주고 있다.
또한, MySQL, Oracle, H2 등 여러 종류의 DB에도 해당 DB의 방언 property를 추가해주면 다 적용할 수 있다.
<property name="hibernate.hbm2ddl.auto" value="create" />