Jpa – Java Persistence Api

13,446 views
13,116 views

Published on

Introdução ao API JPA

Published in: Technology
0 Comments
21 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
13,446
On SlideShare
0
From Embeds
0
Number of Embeds
109
Actions
Shares
0
Downloads
0
Comments
0
Likes
21
Embeds 0
No embeds

No notes for slide

Jpa – Java Persistence Api

  1. 1. JPA – Java Persistence API [email_address]
  2. 2. Agenda <ul><li>JPA </li></ul><ul><li>Criando Entidades </li></ul><ul><li>Entity Manager </li></ul><ul><li>Relacionamentos </li></ul>
  3. 3. JPA <ul><li>JPA – Java Persistence API </li></ul><ul><ul><li>Novo padrão ORM </li></ul></ul><ul><ul><li>Baseado no Hibernate </li></ul></ul><ul><ul><li>Agiliza no desenvolvimento </li></ul></ul>
  4. 4. JPA
  5. 5. JPA <ul><li>Entidades </li></ul><ul><ul><li>Com JPA as entidade são descritas como POJO (Plain Old Java Object), sendo criadas através de classes Java; </li></ul></ul><ul><ul><li>Tem um identidade persistente </li></ul></ul><ul><ul><li>Podem ter estado persistente e não persistente </li></ul></ul>
  6. 6. Criando Entidades <ul><li>Exemplo: </li></ul>Define um entidade como persistente Nome da tabela a qual a entidade está associada.
  7. 7. Criando Entidade <ul><li>Cada entidade deve possuir um identificador de persistência -> Chave-primária no banco de dados; </li></ul><ul><li>O identificador pode corresponder a um tipo simples: </li></ul><ul><ul><li>@Id: Anota o atributo será a chave-primária </li></ul></ul><ul><ul><li>@GeneratedValue: Gera o valor automaticamente, usando diferentes estratégias. </li></ul></ul>
  8. 8. Criando Entidades Chave-primária Estratégia de geração
  9. 9. Criando Entidades <ul><li>Anotando Campos </li></ul><ul><ul><li>No JPA podemos anotar cada atributo da nossa entidade, de maneira que possamos definir características específica para cada um. </li></ul></ul><ul><ul><li>Para isso usamos: </li></ul></ul><ul><ul><ul><li>@Column </li></ul></ul></ul>
  10. 10. Criando Entidades <ul><li>Usando @Column </li></ul>Nome do campo no BD Tamanho do campo no BD O campo pode ser NULL (true/false)
  11. 11. Criando Entidades <ul><li>Mais anotação </li></ul><ul><ul><li>@Temporal – Define que um campo armazenará valor do tipo data </li></ul></ul><ul><ul><li>@Enumerated – Define que o campo está relacionado a um Enum </li></ul></ul><ul><ul><li>@Transient - Fala para o JPA não gravar o estado dessa propriedade </li></ul></ul><ul><ul><li>@Lob – Define que o campo armazenará dados do tipo Long Object Binary (texto) </li></ul></ul>
  12. 12. Criando Entidades <ul><li>Exemplo: </li></ul>
  13. 13. Criando Entidade
  14. 14. Entity Manager
  15. 15. Entity Manager <ul><li>Operação de Persistência </li></ul>
  16. 16. Entity Manager <ul><li>Operação de Pesquisa e Remoção </li></ul>
  17. 17. Entity Manager <ul><li>Operação de Alteração (Merge) </li></ul>
  18. 18. Entity Manager <ul><li>Ciclo de Vida das Entidades </li></ul>
  19. 19. Relacionamento <ul><li>Modela a associação entre as entidades; </li></ul><ul><li>Suporta relacionamento unidirecional (entidade A referencia B, mas B não referencia A); </li></ul><ul><li>Cardinalidades </li></ul><ul><ul><li>Um para um (@OneToOne) </li></ul></ul><ul><ul><li>Um para muitos (@OneToMany) </li></ul></ul><ul><ul><li>Muitos para um (@ManyToOne) </li></ul></ul><ul><ul><li>Muitos para Muitos (@ManyToMany) </li></ul></ul>
  20. 20. Relacionamento <ul><li>Comportamento em Cascata </li></ul><ul><ul><li>Usando para propagar o efeito de uma operação à entidades associadas; </li></ul></ul>
  21. 21. Relacionamento (One to One) <ul><li>A entidade possui um propriedade composta, cujo o tipo é uma outra entidade? </li></ul>
  22. 22. Relacionamento (One to One) <ul><li>Entendendo o One to One </li></ul>
  23. 23. Relacionamento (Many to One) <ul><li>A entidade faz parte de uma coleção de entidades de outra entidade. </li></ul>
  24. 24. Relacionamento (One to Many) <ul><li>Uma entidade possui uma coleção de outras entidades. </li></ul>
  25. 25. Relacionamento (One to Many) <ul><li>Relacionamento bidirecional Um-para-muitos </li></ul>
  26. 26. Relacionamento (Many to Many) <ul><li>Duas entidades possuem coleções umas das outras. </li></ul>
  27. 27. Relacionamento (Many To Many) <ul><li>Entendendo o ManyToMany </li></ul>
  28. 28. Exercício <ul><li>Com base no MER abaixo monte uma aplicação usando JPA que faça uso dos modelos de relacionamento do mesmo. </li></ul>

×