티스토리 뷰
기본 키를 애플리케이션에서 직접 할당하는 대신,
데이터베이스가 생성해주는 값을 사용하려면 어떻게 매핑해야할까?
★ 기본 키 매핑
- JPA가 제공하는 데이터베이스 기본 키 생성 전략
1. IDENTITY : 기본 키 생성을 데이터베이스에 위임한다.
2. SEQUENCE : 데이터베이스 시퀀스를 사용해 기본키를 할당한다.
3. TABLE : 키 생성 테이블을 사용한다.
하지만 데이터베이스 벤더마다 지원하는 방식이 다르다.
오라클은 시퀀스 제공하지만 My SQL은 시퀀스를 제공하지 않는 것 처럼 다 다르다.
- 기본 키를 직접 할당하려면 @Id만 사용하면 되고,
자동 생성 전략 사용 시, @Id 에 @GenerateValue를 추가하고 원하는 키 생성 전략을 선택하면 된다,
☆ 기본 키 직접 할당 전략
기본 키 직접 할당 전략은 em.persist( ) 로 엔티티를 저장하기 전에 애플리케이션에서 기본 키를 직접 할당하는 방법이다.
@Id
@Column(name = "id")
private String id;
@Id 적용 기능 자바 타입은
1. 자바 기본형
2. 자바 래펴(Wrapper)형
3. String
4. java.util.Date
5. java.sql.Date
6. java.math.BigDecimal
7. java.math.BigInteger
이다.
Board board = new Board();
board.setId("id1") // 기본키 직접 할당
em.persist(board);
☆ IDENTITY 전략
- 데이터베이스에 엔티티를 저장해서 식별자 값 획득 후 영속성 컨텍스트에 저장한다.
테이블에 데이터를 저장해야 식별자 값을 획득할 수 있다.
☆ TABLE 전략
- 데이터베이스 시퀀스 생성용 테이블에서 식별자 값을 획득 후 영속성 컨텍스에 저장한다.
☆ SEQUENCE
- 데이터베이스 시퀀스에서 식별자 값을 획득 후 영속성 컨텍스에 저장한다.
자바 ORM 표준 JPA 프로그래밍 - 교보문고
스프링 데이터 예제 프로젝트로 배우는 전자정부 표준 데이터베이스 프레임 | ★ 이 책에서 다루는 내용 ★■ JPA 기초 이론과 핵심 원리■ JPA로 도메인 모델을 설계하는 과정을 예제 중심으로
www.kyobobook.co.kr
'차곡차곡 > Java' 카테고리의 다른 글
| [Java] 형식화된 출력 - printf( ) (0) | 2022.12.22 |
|---|---|
| [기타] 자바 관련 문제 - 시험 복습 (1) | 2022.12.13 |
| [JAVA] 엔티티 매핑 (3) - DDL 생성 기능 (0) | 2022.07.23 |
| [JAVA] 엔티티 매핑 (2) - 데이터베이스 스키마 자동 생성 (0) | 2022.07.23 |
| [Java] 엔티티 매핑 (1) - @Entity / @Table / 그 외 다양한 매핑 (0) | 2022.07.23 |
- Total
- Today
- Yesterday
- 커틀렛 맛집
- DDL 생성 콘솔 출력
- 버튼누르면전구이미지변하기
- tick 만들기
- 토마호크 맛집
- JPA 기본키 매핑 전략
- 꾸덕꾸덕 파스타 맛집
- Counter 만들기
- JPA라이브러리
- 엘리먼트 렌더링
- 데이터베이스 스키마 자동 생성
- pip 설치 오류
- intellij 한글 깨짐
- 영속성 관리
- React
- 영주 한우
- React를 이용한 Counter 만들기
- JPA
- 온량 서울숲점
- 로제 파스타 맛집
- fragment태그
- 콘솔 창 한글 깨짐
- JPQL이란
- 엔티티매니저팩토리
- JPA애플리케이션개발코드
- 리액트 이벤트 처리하기
- react counter
- 풍기역맛집
- 영주역 맛집
- 리액트 엘리먼트 렌더링하기
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
