JPA의 인터페이스 중의 하나인 Hibernate는 엔티티만 등록해놓으면 데이터베이스 DDL을 자동으로 작성하여 테이블을 생성하거나 수정할 수 있다.
Entity에 테이블을 매핑하면 쿼리문을 사용하지 않고, 값 추출이 가능하다.
=> 추출하는 방법은ddl-auto 옵션을 사용하면 된다.
createcreate-dropupdatevalidatenone(default)
엔티티로 등록된 클래스와 매핑되는 테이블을 자동으로 생성(create)
이 과정에서 기존에 해당 클래스와 매핑되는 테이블이 존재한다면 기존 테이블은 삭제되고, 다시 테이블을 생성하게 된다.
drop table if exists member cascade
Hibernate:
create table member (
member_id bigint not null,
address varchar(255),
email varchar(255),
name varchar(255),
password varchar(255),
phone_number varchar(255),
primary key (member_id)
)
// 실행 시
Hibernate:
drop table if exists member cascade
엔티티로 등록된 클래스와 매핑되는 테이블이 없으면 새로 생성하는 것은 create와 동일하지만 기존 테이블이 존재한다면 위의 두 경우와 달리 테이블의 컬럼을 변경
기존에 존재하는 컬럼의 속성은 건드리지 않고, 새로운 컬럼이 추가되는 변경사항만 반영한다.
개발 초기에는 create 또는 update 옵션을 이용하고 추후에 validate로 옵션을 설정해주는 것이 좋다 !
ddl-auto 내용을 update한다면, 프로그램을 재시작하더라도 데이터가 사라지지 않습니다.
정말 좋은 글 감사합니다!