JPA

JPA시작(5)_데이터베이스 스키마 자동생성

개발자 배찌 2021. 6. 7. 15:12
728x90

JPA는 데이터베이스 스키마 자동생성 기능을 제공한다.

 

H2 스키마에 직접 CREATE 할 필요가 없다는 말!!

 

 

★데이터베이스 스키마 자동생성 방법★

 

↓↓↓<참고> 기존 회원엔티티 클래스를 이용해서 스키마를 자동생성할꺼에요 ↓↓↓

https://baejiyoung.tistory.com/5

 

JPA시작(4)_다양한 매핑 사용 @Enumerated, @Temporal, @Lob

회원관리 프로그램에 요구사항을 추가해보자. 회원은 일반 회원과 관리자로 구분해야함 회원가입일과 수정일이 있어야함 회원을 설명할 수 있는 필드가 있어야함. 길이제한 없음 package jpabook.s

baejiyoung.tistory.com

 

 

1) persistence.xml 에 속성추가

<property name="hibernate.hbm2ddl.auto" value="create" />

 

  참고> 이 속성을 추가하면 콘솔에서 테이블생성 DDL을 출력할 수 있다.

   <property name="hibernate.show_sql" value="true" />

 

 

 

실행결과 >>

Hibernate : 
     drop table MEMBER if exists
Hibernate : 
     create table MEMBER (
          ID varchar(255) not null,
          NAME varchar(255),
          age integer,
          roleType varchar(255),
          createDate timestamp,
          lastModifiedDate timestamp,
          description clob,
          primary key (ID)
     )

 

roleType은 varchar 타입으로,createDate, lastModifiedDate 는 timestamp 타입으로,description 은 clob 타입으로 생성되었다  (mysql 기준)

 

이처럼 자동생성되는 DDL은 지정한 데이터베이스 방언에 따라 달라진다.만약 오라클을 사용하면 VARCHAR대신 VARCHAR2타입이, INTEGER 대신에 NUMBER타입이 생성됨!