자바 ORM 표준 JPA 프로그래밍 2

JPA - 기본 키 매핑

기본키를 @Id 어노테이션만 사용해서 애플리케이션에서 직접 할당하는 대신에 DB에서 생성해주는 값을 사용하려면 어떻게 매핑해야할까 예를들어 오라클의 시퀀스 오브젝트, MySQL의 AUTO_INCREMENT 기본키란 ? 영속성 컨텍스트에 저장할 키 값으로 사용하기 위해서 필수적인 키이다. JPA가 제공하는 데이터베이스 기본 키 생성 전략 종류 직접 할당 : 기본 키를 애플리케이션에서 직접 할당한다. 자동 생성 : - IDENTITY : 기본 키 생성을 데이터베이스에 위임한다. - SEQUENCE : 데이터베이스 시퀀스를 사용해서 기본 키를 할당한다. - TABLE : 키 생성 테이블을 사용한다. IDENTITY 전략 주로 MySQL에서 사용한다 IDENTITY 전략은 데이터베이스에 INSERT한 후에 기본..

JPA & Querydsl 2021.11.04

JPA 엔티티 매핑 - 대표적 어노테이션

JPA는 다양한 매핑 어노테이션들을 지원하는데 크게 4가지로 분류할 수 있다. 객체와 테이블 매핑 : @Entity, @Table 기본 키 매핑 : @Id 필드와 컬럼 매핑 : @Column 연관관계 매핑 : @ManyToOne, @JoinColumn @Entity JPA사용시 테이블과 매핑할 클래스는 필수로 @Entity를 붙여야 한다. 주의사항 1 기본 생성자는 필수다. (파라미터가 없는 public 또는 protected 생성자) 2 final 클래스, enum, interface, inner 클래스에는 사용할 수 없다. 3 저장할 필드에 final을 사용하면 안된다. @Table 엔티티와 매핑할 테이블을 지정한다. 생략하면 매핑한 엔티티의 이름을 테이블 이름으로 사용한다. ( 사용할 테이블의 세부..

JPA & Querydsl 2021.11.03