Mapeamento Objeto-Relacional com      Java Persistence API
Bruno Leite Alves- Analista de Sistemas- Mestrando em Ciência da Computação
Agenda•   Conceitos de modelagem de domínio•   O que é um framework?•   Introdução à JPA•   Arquivos de configuração•   Co...
Modelo de Domínio
Modelo   Modelo Rico    Anêmico
Elementos FundamentaisObjeto                      Multiplicidade                                0..1                      ...
O que é um framework?
JPAJava Persistence API
Ciclo de Vida
Objeto não         Ciclo de Vida JPAexiste          Managed    DetachedNew                     Garbage          Removed   ...
Objeto     não                           Ciclo de Vida JPA    existe                    find()                            ...
Mapeamentos
...@Entitypublic class NotaFiscal implements Serializable {    @Id    private Long idNotaFiscal;    private String enderec...
...@Entitypublic class NotaFiscal implements Serializable {    @Id    @GeneratedValue(    strategy=GenerationType.IDENTITY...
...@Entity@Table(name="nota_fiscal")public class NotaFiscal implements Serializable {    @Id    private Long idNotaFiscal;...
...@Entitypublic class NotaFiscal implements Serializable {    @Id    private Long idNotaFiscal;    @Temporal(TemporalType...
...@Entitypublic class Cliente extends Pessoaimplements Serializable {    @Transient    private Integer numeroCartao;    ....
IDE
Talk is cheap. Show me the code!
Configuração JPA• persistence.xml (obrigatório)• orm.xml (opcional)
Persistence   Unit
Entity Manager
Create   VerRead     ExcluirUpdate   InserirDelete   Alterar
Relacionamentos
FetchType.LAZY
FetchType.EAGER
Cascade Type
Herança
Tipos deConsultas
Obrigado@bleitea         brunoleite.wordpress.com
Mapeamento Objeto-Relacional com Java Persistence API
Mapeamento Objeto-Relacional com Java Persistence API
Upcoming SlideShare
Loading in …5
×

Mapeamento Objeto-Relacional com Java Persistence API

3,011 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,011
On SlideShare
0
From Embeds
0
Number of Embeds
2,255
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Mapeamento Objeto-Relacional com Java Persistence API

  1. 1. Mapeamento Objeto-Relacional com Java Persistence API
  2. 2. Bruno Leite Alves- Analista de Sistemas- Mestrando em Ciência da Computação
  3. 3. Agenda• Conceitos de modelagem de domínio• O que é um framework?• Introdução à JPA• Arquivos de configuração• Conceitos básicos• Relação entre entidade• Consultas
  4. 4. Modelo de Domínio
  5. 5. Modelo Modelo Rico Anêmico
  6. 6. Elementos FundamentaisObjeto Multiplicidade 0..1 FormaPagamento * Cliente Pedido items * 1 1 ItemPedidoRelacionamento Opcionalidade
  7. 7. O que é um framework?
  8. 8. JPAJava Persistence API
  9. 9. Ciclo de Vida
  10. 10. Objeto não Ciclo de Vida JPAexiste Managed DetachedNew Garbage Removed Collector
  11. 11. Objeto não Ciclo de Vida JPA existe find() clear() new Managed Detached persist() merge() New remove() Garbage Removed CollectorContexto JPA
  12. 12. Mapeamentos
  13. 13. ...@Entitypublic class NotaFiscal implements Serializable { @Id private Long idNotaFiscal; private String enderecoEntrega; ... //Construtor vazio //gets and sets}
  14. 14. ...@Entitypublic class NotaFiscal implements Serializable { @Id @GeneratedValue( strategy=GenerationType.IDENTITY) private Long idNotaFiscal; private String enderecoEntrega; ...}
  15. 15. ...@Entity@Table(name="nota_fiscal")public class NotaFiscal implements Serializable { @Id private Long idNotaFiscal; @Column(name="ENDERECO_ENTREGA", length=30, nullable = false) private String enderecoEntrega; ...}
  16. 16. ...@Entitypublic class NotaFiscal implements Serializable { @Id private Long idNotaFiscal; @Temporal(TemporalType.DATE) private Date dataEntrega; ...}
  17. 17. ...@Entitypublic class Cliente extends Pessoaimplements Serializable { @Transient private Integer numeroCartao; ...}
  18. 18. IDE
  19. 19. Talk is cheap. Show me the code!
  20. 20. Configuração JPA• persistence.xml (obrigatório)• orm.xml (opcional)
  21. 21. Persistence Unit
  22. 22. Entity Manager
  23. 23. Create VerRead ExcluirUpdate InserirDelete Alterar
  24. 24. Relacionamentos
  25. 25. FetchType.LAZY
  26. 26. FetchType.EAGER
  27. 27. Cascade Type
  28. 28. Herança
  29. 29. Tipos deConsultas
  30. 30. Obrigado@bleitea brunoleite.wordpress.com

×