JPA16 [JPA] JPA 내부 구조 (1) - 영속성 컨텍스트, 엔티티 생명주기 본 포스팅의 이미지 저작권은 자바 ORM 표준 JPA 프로그래밍 - 기본편 (김영한) 강의에 있습니다. EntityManagerFactory와 EntityManager 고객이 서비스를 요청함 고객이 요청 할 때마다, EntityManagerFactory는 EntityManager를 생성 EntityManager는 내부적으로 Database Connection을 사용해서 DB를 사용한다. 영속성 컨텍스트 (Persistence Context) 엔티티를 영구 저장하는 환경 영속성 컨텍스트는 눈에 보이지 않는, 논리적인 개념이다. 엔티티 매니저(EntityManager)를 통해 영속성 컨텍스트에 접근한다. 엔티티의 생명주기 (Entity Lifecycle) 비영속 (new/transient) 영속성 컨텍스트와.. 2023. 5. 28. [JPA] JPA 구동 방식 - Persistence, EntityManagerFactory, EntityManager 본 포스팅의 이미지 저작권은 자바 ORM 표준 JPA 프로그래밍 - 기본편 (김영한) 강의에 있습니다. JPA 구동 방식 설정 정보 조회 설정 정보를 조회하는 방법은, JPA 구현체의 따라 달라질 수 있다. 베이직한 Hibernate 구현체와, 많이 사용되고 있는 Spring Data JPA 구현체를 알아보자. Hibernate 구현체 Hibernate 공식 문서의 4.1 항목에 의하면, META-INF/persistence.xml 파일로 부트스트랩 프로세스를 정의한다. ... Spring Data JPA 구현체 application.properties 또는 application.yml 파일에서 JPA 설정을 진행할 수 있다. Persistence 클래스 Object DB - javax.persisten.. 2023. 5. 27. [JPA] JPA 소개(2) - JPA 소개 JPA 소개 Java Persistence API 자바 진영의 ORM 기술 표준 ORM이란? Object-relational mapping (객체 관계 매핑) 객체는 객체대로 설계, DB는 DB대로 설계 ORM 프레임워크가 중간에서 객체와 DB를 매핑 JPA는 애플리케이션과 JDBC 사이에서 동작 자바 애플리케이션에서 DB와 통신하기 위해선 JDBC API 사용이 필수 JPA가 JDBC API를 대신 사용해줌 JPA 동작 - 저장 DAO가 Entity를 JPA에게 던진다. JPA는 Entity 분석 INSERT SQL 생성 JDBC API 사용 패러다임 불일치 해결 JPA가 DB로 INSERT SQL을 던진다. JPA 동작 - 조회 DAO가 JPA에게 id를 던진다. JPA는 SELECT SQL 생성 J.. 2023. 2. 2. [JPA] JPA 소개(1) - SQL 중심적인 개발의 문제점 SQL 중심적인 개발의 문제점 SQL 의존 주로 관계형 DB를 사용 → 객체를 관계형 DB에 저장 → 수많은 SQL 사용 (CRUD, 무한반복, 지루) → SQL에 의존적 패러다임 불일치 객체 현실적으로는 관계형 데이터베이스 객체 -> SQL 변환 -> RDBMS -> 개발자가 함 객체와 관계형 데이터베이스의 차이 상속 추상화 → 객체 상속 관계형 데이터베이스 테이블 (상속 관계 X) 부모 테이블, 자식 테이블 조인 → 슈퍼타입, 서브타입 관계 CRUD C : 객체 분해, INSERT INTO ITM…, INSERT INTO ALBUM .. R 테이블 조인 객체 생성 … 각각 서브타입 케이스마다 조인 쿼리문 작성 필요 (개발자가 한다) → 자바 컬렉션에서 C : add해주면 됨 R : get 해주면 됨 .. 2023. 1. 31. 이전 1 2 3 다음 728x90 반응형