Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Documentos relacionados
JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES

Framework Hibernate/JPA

Hibernate na sua aplicação JavaWeb

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Aula 2 - Revisão de JPA (Java Persistence API)

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.

Aula 2 - Revisão de JPA (Java Persistence API)

JPA Com Hibernate Aula 2

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos


Mapeamento Objeto-Relacional

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Programação Java. em Ambiente Distribuído. Ênfase no Mapeamento Objeto-Relacional com JPA, EJB e Hibernate. Douglas Rocha Mendes.

Testes Automatizados com Banco de Dados

Criando uma aplicação web. Parte 1

Testes Automatizados e Bancos de Dados

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM

Módulo III Camada de Persistência

Acadêmico: Samuel Y. Deschamps Orientador: Prof. Jacques R. Heckmann

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. Dados Transientes e Relacionamentos. 1 Universidade Positivo

JAVA ENTERPRISE EDITION: CRIAR BEANS DE ENTIDADE A PARTIR DE TABELAS

igrpweb Índice gráfico Cliente NOSi igrpweb Referência Versão 1.00 Status

Java Persistence API. Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações

WebApps em Java com uso de Frameworks

Lógica e Prog. Java6.0 + Java p/ Web com Hibernate e Struts 2. Duração 124 horas/aula

JPA 2.0 e Servlet 3.0

Desenvolvimento Web com Java. Sérgio Lopes Caelum -

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Mapeamento Lógico/Relacional com JPA

Fica expressamente proibido a reprodução ou utilização deste material sem a devida permissão ou consentimento do autor.

JPA: Persistência padronizada em Java

Aula 4. Carlos Eduardo de Carvalho Dantas

Introdução. Configuração. Padrão POJO. Framework Pesistência de. Mapeamento Annotation. Objetos. Persistência. Java. Objetos. Prof.

Mapeamento da herança em JPA

Persistência de Dados em Java com JPA e Toplink

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Mapeamento da herança em JPA

One-to-Many. Many-to-One. Many-to-Many

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

Criando uma aplicação web

Hibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

Aula 5. Carlos Eduardo de Carvalho Dantas

Conexão com Banco de Dados

JPA (Java Persistence API) Marcos Kalinowski

UNIVERSIDADE FEDERAL DE JUIZ DE FORA DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. Filipe Bastos

Armazenando Dados em Aplicações Java Parte 3 de 3: Analisando as opções

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

Java Persistence Query Language JPQL

Lista de Exercícios Dissertativo

SQL Server Desenvolvedor

Sistemas Comerciais Java EE com CDI, JPA e PrimeFaces

Analista de Negócios. Local de Trabalho: Porto Alegre. Número de Vagas: 02. Analista de Sistemas

PLANO DE ENSINO INSTITUTO FEDERAL SUL-RIO-GRANDENSE CAMPUS SAPUCAIA DO SUL PRÓ-REITORIA DE ENSINO

OPORTUNIDADES CWI: Principais atividades: - Análise e desenvolvimento de sites Cross-plataform (IE/Firefox/Chrome/Safari).

UFG - Instituto de Informática

Especialização em Engenharia e Desenvolvimento de Software Web

Hibernate. Mapeamento O/R Marcio Aguiar Ribeiro

Continuação... Criando a Interface e adiante

MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB

Projeto de Sistemas com Frameworks

Desmistificando o Hibernate Envers em 10 passos

JPQL (Java Persistence Query language)

JPA Java Persistence API

ANÁLISE E PROJETO DE BANCO DE DADOS

Perfil Formação Acadêmica Experiência Profissional Capacitação Profissional

Oracle Database 12c: Introdução ao SQL Ed. 2

Mapeando Relacionamentos entre Entidades JPA. Prof. Fellipe Aleixo

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600

Java para WEB com Struts 2 e Hibernate

Especialização em Engenharia e Desenvolvimento de Software Web

Java para Desenvolvimento Web Carga Horária: 40 Horas.

Alura Ensino Online. Rua Vergueiro, 3185, 8º andar, São Paulo, SP

CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS

UFG - Instituto de Informática

Sumário. Introdução 1

Transcrição:

Casa do Código Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora, sejam quais forem os meios: fotográficos, eletrônicos, mecânicos, gravação ou quaisquer outros. Casa do Código Livros para o programador Rua Vergueiro, 3185-8º andar 04101-300 Vila Mariana São Paulo SP Brasil

Casa do Código Sobre o autor Hébert Coelho de Oliveira é analista desenvolvedor sênior, pós-graduado em Engenharia de Soware, professor em faculdade e escritor nas horas vagas. Trabalha há mais de anos com desenvolvimento de sowares e possui as certicações SCJP, SCWCD, OCBCD, OCJPAD. É autor do livro JSF Ecaz, publicado pela editora Casa do Código, que dá dicas e melhores práticas para os desenvolvedores que utilizam o JSF em seus projetos. É criador do blog http://uaihebert.com, visualizado por países, totalizando mais de mil visualizações em seus anos de vida. É ainda autor do framework EasyCriteria (http://easycriteria.uaihebert.com) que ajuda na utilização da Criteria da JPA, sendo testado com Hibernate, OpenJPA e EclipseLink e com de cobertura nos testes. Foi revisor de um livro especíco sobre Primefaces e criador de posts em seu blog com aplicações completas utilizando JSF. Escreveu dois posts sobre JPA com diversas dicas que já passaram de mil visualizações, e que também foi o ponto de partida desse livro. Pós-graduado em MIT Engenharia de Soware desenvolvimento em Java pela Infnet RJ. Atualmente atua como professor para o curso de pós-graduação, ensinando o conteúdo de Java Web (JSP, Servlet, JSF e Struts) e tópicos avançados, como EJB, Spring e WebServices. i

Casa do Código Agradecimentos Agradeço a Deus pela sabedoria, força de vontade e inteligência para conseguir nalizar o livro. Dedico esse livro àquela que é o maior presente que Deus poderia me dar, minha esposa Daiane. Seu sorriso único, seu olhar que encanta e sua voz que traz alegria ao meu coração. Companheira el e única, que está sempre ao meu lado em todas as situações. Dedico também o livro à minha família que está lá no interior de Minas Gerais juntamente com minha linda sobrinha Louanne e sua irmã e minha alhada Fernanda. Segue um agradecimento sem medidas aqui ao Rodrigo Sasaki (http://cv. rodrigosasaki.com) que me ajudou no decorrer desse livro com revisões em textos e códigos. Ter um prossional de alto calibre como ele ajudando na produção de um livro é de incomensurável alegria. Sou grato a Deus por ter colocado em meu caminho pessoa tão boa, sábia e sempre disposta a ajudar. E por último, mas não menos importante, dedico esse livro à minha querida irmã Louise, que sempre briga comigo. [= iii

Casa do Código Sobre o livro A JPA é um framework que vem ganhando mais espaço no mercado a cada dia que se passa. Veremos nesse livro diversos conceitos e dicas de utilizações de diversos recursos que a JPA oferece. Esse livro é ideal para quem já entende o conceito do framework e já sabe fazer um hello world. Ao nal desse livro um desenvolvedor JPA já estará apto a modelar, desenvolver e resolver diversos problemas que podem acontecer ao se trabalhar com JPA. v

Casa do Código Sumário Sumário Introdução Como escolher uma implementação e as congurações da JPA. Escolha uma implementação.... Como compor meu persistence.xml?.... Congurando a aplicação através de XML.... Como conseguir um EntityManager..... Controlando a transação manualmente..... Servidor controlando a transação... Aprenda os detalhes dos mapeamentos de entidades. Entidades e o seu papel no banco de dados.... Saiba Gerar seu id Automaticamente.... O eterno problema do mapeamento de chaves compostas.... Mapeando mais de uma tabela.... Como mapear herança da melhor maneira?..... Mapped Superclass..... SINGLE T ABLE..... JOINED..... TABLE P ER C LASS.... Trabalhe com os Embedded Objects.... Mapeie enums e lista de valores... vii

Sumário Casa do Código Entenda e mapeie corretamente os relacionamentos. Use os relacionamentos..... Relacionamentos com @OneToOne..... Cuidados com o @OneToMany e @ManyToOne..... @ManyToMany.... Entenda como funciona o Cascade.... Entenda como funciona o OrphanRemoval.... Como utilizar Lazy e Eager Loading corretamente.... Entenda a LazyInitializationException..... Utilizando o método size das listas..... Carregamento por anotação..... Stateful EJB..... Carregando por Query com Join.... Aprenda a tratar o erro: cannot simultaneously fetch multiple bags.. Trate o erro: could not initialize a collection.... Cuidado para não cair no famoso efeito n+... Aprenda os truques da JPQL e domine as consultas da JPA. Esqueça SQL! Abuse da JPQL.... Parâmetros com JPQL.... Navegações nas pesquisas..... Join..... Faça ordenações..... Navegando pelos relacionamentos.... Funções Matemáticas..... Calculando mínimos e máximos..... Contando resultados..... Outras funções: MOD, SQRT e AVG.... Funções String.... Agrupadores - group by e having.... Condições para comparações..... Restrinja pesquisas por uma lista com o IN..... Evite repetições com DISTINCT..... Listas e valores vazios com EMPTY e NULL... viii

Casa do Código Sumário.. Pesquise por intervalos com BETWEEN..... Busca por trechos de texto com LIKE..... Verique se um elemento existe com o MEMBER OF..... Operações em listas com EXISTS, ANY, SOME e ALL..... Use CONCAT para concatenar Strings..... Verique a posição de um texto com o LOCATE..... Identique o tamanho de listas com o SIZE.... Trabalhando com data e hora atual.... Buscando apenas um resultado na consulta.... Criando objetos com o retorno de consultas... Alternativas às consultas: Named Queries e Queries nativas. Organizando consultas com NamedQuery.... Quando há algo muito especíco, utilize Query nativa.... Devolva resultados complexos com queries nativas... Entenda as queries programáticas com Criteria. A Criteria mais simples do Hibernate.... EasyCriteria... Recursos avançados com a JPA. Não deixe os resultados da consulta em memória..... Otimização com EJB..... Otimização com Spring..... Java SE ou transação manual.... Paginação de consultas.... Operações em muitos registros - Bulk Operations.... Tratamento de concorrência..... Read Committed..... Aplicando o Lock..... Lock Otimista..... Lock Pessimista... Finalizando Versão:.. ix