[JPA] 데이터베이스 스키마 생성(자동) 설정 - (데이터베이스 만들기(인식))
JPA는 데이터베이스 스키마를 자동으로 생성하는 기능을 제공한다.
클래스의 매핑정보를 보면 어떤 테이블에 어떤 칼럼을 사용하는지 알 수 있다.
아래는 예제에 사용할 클래스를 작성한 것이다.
스키마 자동 생성을 위한 클래스 작성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
@Entity // 클래스와 테이블 매핑
@Table(name = "MEMBER") // 매핑할 테이블 정보 명시
public class Member {
@Id // 기본키 매핑
@Column(name = "ID") // 필드를 컬럼에 매핑
private String id;
@Column(name = "NAME")
private String username;
private Integer age; // 매핑 정보가 없을 경우 필드명이 컬럼명으로 매핑
// 회원 타입 구분
@Enumerated(EnumType.STRING)
private RoleType roleType;
// 날짜 타입 매핑
@Temporal(TemporalType.TIMESTAMP)
private Date createdDate;
// 날짜 타입 매핑
@Temporal(TemporalType.TIMESTAMP)
private Date lastModifiedDate;
@Lob // 길이 제한 없음
private String description;
// getter, setter
}
|
스키마 자동 생성 옵션 설정
persistence.xml
1
2
|
<property name="hibernate.hbm2ddl.auto" value="create" />
<property name="hibernate.show_sql" value="true" />
|
'◽ JDBC > JPA & Hibernate' 카테고리의 다른 글
[JPA - Querydsl] BooleanBuilder란 무엇인가? ( 동적쿼리, 정적쿼리 ) (0) | 2019.10.29 |
---|---|
[이슈, Spring(JPA) - 어노테이션(Annotation)] @Setter을 쓰지 않는 이유 (0) | 2019.10.21 |
[이슈, spring - jpa] rest api의 통신방법 통일or다중화하기. (0) | 2019.10.21 |
[JPA] Entity와 Repository의 관계, Repository의 기본 메서드/추가 메서드 (0) | 2019.10.21 |
[Spring(JPA) - 어노테이션(Annotation) ] @DynamicUpdate (0) | 2019.10.21 |
[Spring(JPA) - 어노테이션(Annotation) ] @Entity // @Table // @Id // @Column (0) | 2019.10.18 |
[JPA] JPA, Hibernate, Repository 비교 정리 (0) | 2019.10.11 |