Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- java set 저장
- 컴파일
- 코딩부트캠프후기
- 격파르타장점
- java map 출력
- 격파르타비전공자
- 항해15기
- java set 출력
- java알고리즘문제풀이
- 격파르타합격후기
- 노베이스부트캠프
- javaJVM
- 프로그래머스제일작은수
- 프로그래머스
- java최솟값구하기
- java 자료구조 활용
- 인터프린터언어
- java map
- 비전공자sqld
- javaJRE
- 항해99후기
- java알고리즘
- sqld자격증합격
- java map 저장
- 작은수제거하기
- 격파르타후기
- java기본자료형
- java참조자료형
- java list 저장
- java list 출력
Archives
- Today
- Total
코딩과 결혼합니다
[JPA] 데이터베이스 스키마 자동 생성, DDL 생성 기능 본문
728x90
JPA
자바에서 데이터베이스와의 상호 작용을 담당하는 ORM 프레임 워크이다.
JPA를 사용하면 개발자는 데이터베이스에서 직접 SQL을 작성하거나 실행하는 대신, 자바 객체와 데이터베이스 테이블 사이의 매핑을 정의할 수 있다.
데이터베이스 스키마 자동 생성
JPA의 매핑을 기반으로 데이터베이스 스키마를 자동으로 생성해 주는 것으로
주요 옵션 설정에는 create, update, validate, none 등이 있다.
주의해야 할 점
create (개발초기) |
애플리케이션을 실행할 때마다 기존 테이블을 삭제하고 새로운 테이블 생성 |
update (개발초기, 테스트서버) |
애플리케이션을 실행할 때마다 데이터베이스 스키마를 자바 엔티티와 동기화한다. 기존 데티어 유지, 필요한 테이블이나 컬럼 생성 |
validate (테스트서버, 운영서버) |
애플리케이션 실행 시, 데이터베이스 스키마를 검증한다. 불일치가 발견되면 오류를 발생 시킨다. |
none (운영서버) |
자동 생성 기능을 사용하지 않는다. 모든 데이터베이스 스키마는 개발자가 직접 관리한다. |
실제 운영 환경에서는 대량의 중요한 데이터를 관리하고 있기 때문에, 시스템이 자동으로 스키마를 변경하게 되면 예측하지 못한 데이터 손실의 위험이 크다. 그러므로 운영 장비에는 절대 create, create-drop, update를 사용하면 안 된다.
DDL 생성 기능
DDL(Data Definition Language)은 '데이터 정의 언어'라는 뜻으로, 데이터베이스의 구조를 만들거나 변경하는 데 사용되는 명령어들을 말한다. 예를 들어, 테이블을 생성하거나 변경, 삭제 하는 등의 작업을 할 때 사용하는 SQL 명령어들이 DDL에 해당한다.
DDL 생성 기능은 DDL을 자동 생성할 때만 사용되고 JPA의 실행 로직에는 영향을 주지 않는다.
제약 조건 추가
@Column(nullable = false, length = 10)
유니크 제약조건 추가
@Table(unipueConstraints = {@UniqueConstraint(name = "NAME_AGE_UNIQUE",
columnNames = {"NAME","AGE"})})
'2세 > JPA' 카테고리의 다른 글
[JPA] 아키텍처 패턴(+ 디자인 패턴) (0) | 2024.02.15 |
---|---|
[JPA] 상속관계 매핑 - 테이블 전략 (0) | 2024.02.14 |
[JPA] 엔티티 설계시 주의점 (0) | 2024.02.13 |
[JPA] 기본키 생성 전략 (0) | 2024.02.12 |
[JPA] 영속성 관리 - 내부 동작 방식 (0) | 2024.02.06 |