728x90

Programming/JPA 23

JPA - 엔티티 매핑

- 엔티티 매핑 1. 객체와 테이블 매핑 : @Entity, @Table 2. 필드와 컬럼 매핑 : @Column 3. 기본 키 매핑 : @Id 4. 연관관계 매핑 : @ManyToOne, @JoinColumn - @Entity 1. @Entity가 붙은 클래스는, JPA가 관리, 엔티티라 한다. 2. 기본 생성자는 필수다. (final, enum, interface, inner 클래스 사용 X) 3. @Entity의 속성으로 name을 사용할 수 있다. 3.1. JPA에서 사용할 엔티티 이름을 지정한다. 3.2. 기본값은 클래스 이름을 그대로 사용한다. @Entity(name = "ooo") @Table 1. @Table은 엔티티와 매핑할 테이블 지정한다. 2. 실제 DB에 있는 테이블명과 매칭할 때 ..

Programming/JPA 2023.07.14

JPA - 영속성 관리

- JPA에서 가장 중요한 2가지 1. 객체와 관계형 데이터베이스 매핑하기 2. 영속성 컨텍스트 - 엔티티 매니저 팩토리와 엔티티 매니저 - 영속성 컨텍스트 1. 엔티티를 영구 저장하는 환경 2. EntityManager.persist(entity); 3. 영속성 컨텍스트는 논리적인 개념 4. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 - 엔티티의 생명주기 1. 비영속(new/transient) 1.1. 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 2. 영속(managed) 2.1. 영속성 컨텍스트에 관리되는 상태 3. 준영속(detached) 3.1. 영속성 컨텍스트에 저장되었다가 분리된 상태 4. 삭제(removed) 4.1. 삭제된 상태 - 비영속 - 영속 컨텍스트에 포함되어 있지 않고 객체..

Programming/JPA 2023.07.14

JPA - JPA 시작하기

- JPA 특징 1. JPA는 특정 데이터베이스에 종속하지 않는다. - 그림과 같이 Dialect 아래 여러가지 DB들이 종속되어 사용가능하다. 2. Hibernate.dialect의 경우 40가지 이상의 데이터베이스를 지원한다. - JPA 구동 방식 1. 프로젝트에서 설정한 Persistence.xml 파일에는 DB, DB 접속 관련 데이터들이 담겨있다. 2. EntityManagerFactory를 생성하면 DB와의 연결을 포함 대부분의 것들이 해결된다. 3. EntityManagerFactory 생성 이후 EntityManager을 생성하여 DB와 데이터를 주고 받는다. - Member 엔티티 생성 @Entity //관례상 @Table로 테이블 명을 작성해주지 않으면 클래스명이 테이블 명이 된다. p..

Programming/JPA 2023.07.12
728x90