• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Minicurso jpa e hibernate
 

Minicurso jpa e hibernate

on

  • 1,291 views

 

Statistics

Views

Total Views
1,291
Views on SlideShare
1,291
Embed Views
0

Actions

Likes
1
Downloads
41
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Minicurso jpa e hibernate Minicurso jpa e hibernate Presentation Transcript

    • Minicurso JPA e Hibernate
      Frederico Maia Arantes
    • Quem sou eu?
      Frederico Maia Arantes – @fredmaia
      Programador Java EE – PC Sistemas
      Instrutor de cursos Java – Supera Tecnologia
      Oracle Certified Professional, Java SE 6 Programmer (OCJP)
      Um dos coordenadores do Gojava
      Artigo publicado na Easy Java Magazine
      http://devsexperts.com
    • Persistência
      O que é persistência?
    • Persistência
      O que é persistência?
    • Persistência
      O que é persistência?
      Aplicações precisam armazenar seus dados em algum lugar. Queremos processar dados e podermos acessá-los posteriormente.
    • Persistência
      O que é persistência?
      Aplicações precisam armazenar seus dados em algum lugar. Queremos processar dados e podermos acessá-los posteriormente.
      Na maioria dos casos são utilizados banco de dados relacionais.
    • Persistência
      O que é persistência?
      Aplicações precisam armazenar seus dados em algum lugar. Queremos processar dados e podermos acessá-los posteriormente.
      Na maioria dos casos são utilizados banco de dados relacionais.
      Em contra partida a maioria das aplicações são desenvolvidas no modelo orientado a objetos.
    • Persistência
    • Persistência
    • Relacional x Orientado a Objetos
      Dois paradigmas diferentes
    • Relacional x Orientado a Objetos
      Dois paradigmas diferentes
      Como resolver as diferenças?
    • Relacional x Orientado a Objetos
      Dois paradigmas diferentes
      Como resolver as diferenças?
      Como mapear as tabelas do banco de dados para os objetos em Java?
    • Relacional x Orientado a Objetos
      Dois paradigmas diferentes
      Como resolver as diferenças?
      Como mapear as tabelas do banco de dados para os objetos em Java?
      Ou devemos mapear os objetos para tabelas?
    • Relacional x Orientado a Objetos
    • JDBC
      JDBC (Java Database Connectivity) especificação padrão de persistência
    • JDBC
      JDBC (Java Database Connectivity) especificação padrão de persistência
      Que tal juntar os dois mundos?
    • JDBC
      JDBC (Java Database Connectivity) especificação padrão de persistência
      Que tal juntar os dois mundos?
      Misturar o modelo relacional com o modelo orientado a objetos, misturar o código Java com SQL
    • JDBC
      JDBC (Java Database Connectivity) especificação padrão de persistência
      Que tal juntar os dois mundos?
      Misturar o modelo relacional com o modelo orientado a objetos, misturar o código Java com SQL
      Ok, show me the code!
    • JDBC – Conectando no BD
    • JDBC – Inserindo uma Pessoa
    • JDBC – Buscando uma Pessoa
    • JDBC ??
    • JDBC
      Mapeamento nada não muito intuitivo
      E se eu precisar mudar meu banco de dados?
      Tenho que aprender SQL e Java?
      Para cada banco, o SQL pode variar
      Tenho que aprender o SQL de cada banco?
    • Tenho mesmo que usar JDBC ??
      Você precisar ser um herói !!
    • Tenho mesmo que usar JDBC ??
      Você precisar ser um herói !!
    • Hibernate
      O que é hibernate?
    • Hibernate
    • Hibernate
      É um estado letárgico pelo qual muitos animais endotérmicos passam durante o inverno, principalmente em regiões temperadas e árticas.
    • Hibernate
      NOT!
      É um estado letárgico pelo qual muitos animais endotérmicos passam durante o inverno, principalmente em regiões temperadas e árticas.
    • Hibernate
      Framework para Mapeamento Objeto Relacional (ORM)
      Permite que desenvolvamos naturalmente usando o modelo orientados a objetos
      Persistência transparente
      Simplifica o desenvolvimento
      Independente de banco de dados
    • Hibernate...
      Mantido pela empresa JBoss
      Não faz parte da especificação padrão do Java
      E se a JBoss cancelar o projeto? E se o Hibernate parar de evoluir?
      (você tem essa preocupação?)
      Se é tão bom, porque não colocá-lo nas tais especificações Java??
    • JPA (Java Persistence API)
      Nova especificação para persistência
      Já estamos na versão 2.0 da JPA
      Baseada nos principais frameworks de mercado
      É uma especificação portanto precisa de frameworks que a implementem como Hibernate, EclipseLink e TopLink
      Ok, show me thecode!
    • JPA – Arquivo de Configuração
    • JPA – Conectando no BD
    • JPA – Inserindo uma Pessoa
    • JPA – Buscando uma Pessoa
    • JPA é complicado né?
    • JPA é complicado né?
      Ué, num achei não.
    • JPA - Mapeamento
      Mapear o modelo orientado a objetos e o modelo entidade relacionamento.
    • JPA - Mapeamento
      Mapear o modelo orientado a objetos e o modelo entidade relacionamento.
      @Entity: aparece antes do nome das classes que terão objetos persistidos no BD
    • JPA - Mapeamento
      Mapear o modelo orientado a objetos e o modelo entidade relacionamento.
      @Entity: aparece antes do nome das classes que terão objetos persistidos no BD
      @Id: indica a chave primária
    • JPA - Mapeamento
      Mapear o modelo orientado a objetos e o modelo entidade relacionamento.
      @Entity: aparece antes do nome das classes que terão objetos persistidos no BD
      @Id: indica a chave primária
      @GeneratedValue: indica que o valor da chave primária deve ser gerado pelo BD quando um registro é inserido
    • Classe Java Comum
    • Classe Java para JPA
    • JPA
      Que saco esse monte de teoria...
    • JPA - Codificando
      Persistindo (persist)
      Buscando (find e getReference)
      Removendo (remove)
      Atualizando
      Listando (query, resultList)
    • JPA - Codificando
      Transações (begin, commit)
      Restrições (length, nullable, unique)
      Data (@Temporal: Date, Time, Timestamp)
      Atributos não persistentes (@Transiente)
    • JPA - Codificando
      EntityManagerFactory é caro
      JPAUtil retornando conexões (static)
      Criando um DAO Genérico
    • Perguntas?
    • Contato
      fredericomaia10@gmail.com
      @SuperaTI / @fredmaia
      http://www.supera.com.br
      http://devsexperts.com