Zusammenfassung der Ressource
JPA 2.0
- Provedores JPA
- Hibernate
- EclipseLink
- OpenJPA
- ETC...
- O Que é?
- JPA = Java Persistence API
- Api para persistência de objetos em bancos relacionais.
- Conceitos
- Unidade de Persistência
Anmerkungen:
- .Define Configurações JPA associadas a uma nome.
. Contém configurações para conexão com o banco.
.Define quais classes cujos objetos serão persistidos no banco de dados.
.META-INF/persistence.xml
- Gerenciador de persistência
Anmerkungen:
- .Interface implementada pelo provedor JPA.
.Disponibiliza métodos para realizar operações de persistência.
.Representa um canal de comunicação com o banco de dados.
.COntém um cache dos objetos ja carregados na memória.
- <<interface>>javax.persistence.EntityManager
Anmerkungen:
- +persist(o : Object) : void
+merge(o: Entity) : Entity
+remove (o: Object) : void
+find (c : Class) : Entity
+getTransaction(): EntityTransaction
+JoinTransaction() : void
+clear(): void
+contains(o : object) : boolean
+close() : void
- Fábrica de Gerenciadores de Persistência
Anmerkungen:
- • Mantém as configurações em memória
carregadas da unidade de persistência
• Permite abrir/criar um gerenciador de
persistência
• Pode manter um cache de objetos a ser
compartilhado entre todos os
gerenciadores de persistência
- <<interface>>javax.persistence.EntityManagerFactory
Anmerkungen:
- +createEntityManager() : EntityManager
+isOpen() : boolean
+close() :void
- Iniciando uma fábrica
Anmerkungen:
- Classe com métodos estáticos que permite a leitura do arquivo xml e criação de um fábrica de gerenciadores representada pela interface EntityManagerFActory.Depois é criada um objeto do Tipo EntityManager que recebe a fábrica e persiste a entidade.
- javax.persistence.Persistence
Anmerkungen:
- +createEntityManagerFactory(unitName: String) : EntityManagerFactory
+createEntityManagerFactory(unitName : String, config: Map) :EntityManagerFactory.
EntityManagerFactory emf = Persistence.createEntityManagerFactory("exemploPU");
EntityManager em = emf.createEntityManager();
em.persist(entidade);
em.close();
emf.close();
- Implementando uma unidade de persistencia
- Conceitos de Mapeamento objeto/relacional