JPA - Arquitetura

A Java Persistence API é uma fonte para armazenar entidades de negócios como entidades relacionais. Ele mostra como definir um POJO PLAIN OLD JAVA OBJECT como uma entidade e como gerenciar entidades com relações.

Arquitetura de nível de classe

A imagem a seguir mostra a arquitetura em nível de classe da JPA. Ele mostra as principais classes e interfaces da JPA.

Arquitetura de nível de classe JPA

A tabela a seguir descreve cada uma das unidades mostradas na arquitetura acima.

Unidades Descrição
EntityManagerFactory Esta é uma classe de fábrica do EntityManager. Ele cria e gerencia várias instâncias do EntityManager.
EntityManager É uma interface, gerencia as operações de persistência em objetos. Funciona como fábrica para a instância de consulta.
Entidade Entidades são os objetos de persistência, armazenados como registros no banco de dados.
EntityTransaction Ele tem um relacionamento individual com o EntityManager. Para cada EntityManager, as operações são mantidas pela classe EntityTransaction.
Persistência Esta classe contém métodos estáticos para obter a instância EntityManagerFactory.
Inquerir Essa interface é implementada por cada fornecedor de JPA para obter objetos relacionais que atendem aos critérios.

As classes e interfaces acima são usadas para armazenar entidades em um banco de dados como um registro. Eles ajudam os programadores, reduzindo seus esforços para escrever códigos para armazenar dados em um banco de dados, para que possam se concentrar em atividades mais importantes, como escrever códigos para mapear as classes com tabelas de banco de dados.

Relacionamentos de Classe JPA

Na arquitetura acima, as relações entre as classes e as interfaces pertencem ao pacote javax.persistence. O diagrama a seguir mostra o relacionamento entre eles.

Relacionamentos de Classe JPA
  • O relacionamento entre EntityManagerFactory e EntityManager é um para muitos . É uma classe de fábrica para instâncias do EntityManager.

  • O relacionamento entre EntityManager e EntityTransaction é individual . Para cada operação do EntityManager, há uma instância do EntityTransaction.

  • O relacionamento entre EntityManager e Query é um para muitos . Muitas consultas podem ser executadas usando uma instância do EntityManager.

  • O relacionamento entre EntityManager e Entity é um para muitos . Uma instância do EntityManager pode gerenciar várias entidades.