JPA-아키텍처
Java Persistence API는 비즈니스 항목을 관계형 항목으로 저장하는 소스입니다. PLAIN OLD JAVA OBJECT (POJO)를 엔티티로 정의하는 방법과 관계로 엔티티를 관리하는 방법을 보여줍니다.
클래스 레벨 아키텍처
다음 이미지는 JPA의 클래스 레벨 아키텍처를 보여줍니다. JPA의 핵심 클래스와 인터페이스를 보여줍니다.
다음 표는 위 아키텍처에 표시된 각 단위를 설명합니다.
단위 | 기술 |
---|---|
EntityManagerFactory | EntityManager의 팩토리 클래스입니다. 여러 EntityManager 인스턴스를 만들고 관리합니다. |
EntityManager | 인터페이스이며 객체에 대한 지속성 작업을 관리합니다. 쿼리 인스턴스에 대한 공장처럼 작동합니다. |
Entity | 엔터티는 지속성 개체이며 데이터베이스에 레코드로 저장됩니다. |
EntityTransaction | EntityManager와 일대일 관계가 있습니다. 각 EntityManager에 대해 작업은 EntityTransaction 클래스에 의해 유지됩니다. |
Persistence | 이 클래스는 EntityManagerFactory 인스턴스를 얻기위한 정적 메소드를 포함합니다. |
Query | 이 인터페이스는 기준을 충족하는 관계형 개체를 얻기 위해 각 JPA 공급 업체에서 구현합니다. |
위의 클래스와 인터페이스는 엔티티를 데이터베이스에 레코드로 저장하는 데 사용됩니다. 데이터베이스 테이블로 클래스를 매핑하기위한 코드 작성과 같은 더 중요한 작업에 집중할 수 있도록 데이터베이스에 데이터를 저장하기위한 코드를 작성하려는 노력을 줄여 프로그래머를 돕습니다.
JPA 클래스 관계
위의 아키텍처에서 클래스와 인터페이스 간의 관계는 javax.persistence 패키지에 속합니다. 다음 다이어그램은 이들 간의 관계를 보여줍니다.
EntityManagerFactory와 EntityManager 간의 관계는 다음과 같습니다. one-to-many. EntityManager 인스턴스에 대한 팩토리 클래스입니다.
EntityManager와 EntityTransaction 간의 관계는 다음과 같습니다. one-to-one. 각 EntityManager 작업에 대해 EntityTransaction 인스턴스가 있습니다.
EntityManager와 Query 간의 관계는 다음과 같습니다. one-to-many. 하나의 EntityManager 인스턴스를 사용하여 여러 쿼리를 실행할 수 있습니다.
EntityManager와 Entity 간의 관계는 다음과 같습니다. one-to-many. 하나의 EntityManager 인스턴스가 여러 엔터티를 관리 할 수 있습니다.