본문 바로가기

분류 전체보기28

엔티티 매핑 - 7 @Entity 테이블과 매핑할 클래스 명시 기본 생성자 필수 final, enum, interface, inner 클래스 사용 금지 저장할 필드에 final 사용 금지 속성 기능 기본값 name JPA에서 사용할 엔티티 이름을 지정 클래스 이름을 그대로 사용 @Table 엔티티와 매핑할 테이블 지정 속성 기능 기본값 name 매핑할 테이블 이름 엔티티 이름을 사용 catalog catalog 기능이 있는 데이터베이스에서 catalog 매핑 schema schema 기능이 있는 데이터베이스에서 catalog 매핑 uniqueConstraints(DDL) DDL 생성 시에 유니크 제약조건 생성 기본 키 매핑 - IDENTITY 전략 기본 키 생성을 데이터베이스에 위임하는 전략 주로 MySQL, Postgre.. 2021. 7. 3.
영속성 관리 - 6 엔티티 수정 SQL을 사용하면 수정 쿼리를 직접 작성해야 한다. 그렇게 하면 수정 쿼리가 많아지는 것은 물론이고 비즈니스 로직을 분석하기 위해 SQL을 계속 확인해야 한다. 결국 직접적이든 간접적이든 비즈니스 로직이 SQL에 의존하게 된다. JPA로 엔티티를 수정할 때는 단순히 엔티티를 조회해서 데이터만 변경하면 된다. 즉, 엔티티의 변경사항을 데이터베이스에 자동으로 반영하는 기능 : 변경 감지(dirty checking) package jpabook.start; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; import javax.persistence.. 2021. 6. 29.
영속성 관리 - 5 JPA가 제공하는 기능은 크게 엔티티와 테이블을 매핑하는 설계 부분과 매핑한 엔티티를 실제 사용하는 부분으로 나눌 수 있다. 이번 글에서는 매핑한 엔티티를 엔티티 매니저를 통해 어떻게 사용하는지 보자. 엔티티 매니저 팩토리와 엔티티 매니저 데이터베이스를 하나만 사용하는 애플리케이션은 일반적으로 EntityManagerFactory를 하나만 생성한다. // 엔티티 매니저 팩토리 - 생성 EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("jpabook"); 이제부터 필요할 때마다 엔티티 매니저 팩토리에서 엔티티 매니저를 생성하면 된다. // 엔티티 매니저 - 생성 EntityManager entityManag.. 2021. 6. 26.
JPA 시작 - 4 개발 도구 : IntelliJ Ultimate 빌드 도구 : Maven pom.xml 4.0.0 jpabook jpa-start 1.0-SNAPSHOT 1.6 org.projectlombok lombok 1.18.20 provided org.hibernate hibernate-entitymanager 4.3.10.Final com.h2database h2 1.4.187 org.apache.maven.plugins maven-compiler-plugin 3.1 ${java.version} ${java.version} Member 클래스 package jpabook.start; import lombok.*; import javax.persistence.Column; import javax.persistenc.. 2021. 6. 25.