Novatec Editora Ltda. [2014].



Documentos relacionados
Julia Elman e Mark Lavin. Novatec

Desenvolvimento de Grandes Aplicações Web

PDF Explicado John Whitington

Design Centrado no Usuário

Pete Goodliffe. Novatec

David Hows Peter Membrey Eelco Plugge

Jonathan Stark Brian Jepson

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

Google Analytics Justin Cutroni

Padrões de Projeto em PHP

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

Josh Pauli Revisão técnica Scott White. Novatec

Aprendendo Programação. ios. Alasdair Allan. Novatec

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

Pramod J. Sadalage Martin Fowler

Primeiros Passos com o Raspberry Pi

Crie Seu Próprio Site

Novatec Editora Ltda

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

Introdução ao GitHub Peter Bell e Brent Beer

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Ricardo R. Lecheta. Novatec

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Equipes de Software. Um guia para o desenvolvedor de software se relacionar melhor com outras pessoas. Brian W. Fitzpatrick Ben Collins-Sussman

Wilson Moraes Góes. Novatec

Luiz Carlos Querino Filho

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Novatec Editora Ltda

Ademir C. Gabardo. Novatec

2ª EDIÇÃO. André Milani. Novatec

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Benjamin Bengfort Jenny Kim

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Camila Porto. Novatec

Paulo Strelczuk. Novatec

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Hélio Engholm Jr. Novatec

Ricardo Kléber M. Galvão. Novatec

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Service Desk Corporativo

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Keith Wood. Apresentação de Dave Methvin. Novatec

Harrison Kinsley Will McGugan

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Primeiros Passos com o Netduino

Brandon Rhodes John Goerzen

Mineração de dados da web social Matthew A. Russell

Allen B. Downey. Novatec

Empresa. Dave Gray. Novatec. com Thomas Vander Wal

Jody Culkin e Eric Hagan

Desenvolvendo Websites com PHP

Aprendendo Cocoa com Objective-C Paris Buttfield-Addison Jonathon Manning

Ryan Mitchell. Novatec

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Padrões JavaScript Stoyan Stefanov

Persistência de dados com JPA. Hélder Antero Amaral Nunes

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

Google Android para Tablets

Ricardo Lino Olonca. Novatec

Josh Lockhart. Novatec

Shyam Seshadri & Brad Green

Criando Relatórios com PHP

Allan Liska e Timothy Gallo. Novatec

jquery Cookbook Comunidade de Desenvolvedores jquery

Miguel Grinberg. Novatec

Larry Ullman. Novatec

João Eriberto Mota Filho

Ricardo Lino Olonca. Novatec

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

Wilson Moraes Góes. Novatec

Adrian Mejia. Novatec

Ricardo R. Lecheta. Novatec

Guia Prático Richard E. Silverman

André Gugliotti. Novatec

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. 2a Edição. Samuel Henrique Bucke Brito. Novatec

Criando Aplicações Gráficas com PHP

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Conrado Adolpho. Novatec

Guia do Programador Joel Saade

Primeiros Passos com o Arduino

As Leis Fundamentais do Projeto de Software

Editor: Rubens Prates Revisão gramatical: Patrizia Zagni Capa: Victor Bittow Editoração eletrônica: Camila Kuwabata e Carolina Kuwabata

UML 2 uma abordagem prática Gilleanes T. A. Guedes

Desenvolvimento de Grandes Aplicações Web

Guia Definitivo de. . DJ Waldow Jason Falls. Tradução Aline Naomi Sassaki. Novatec

Copyright 2008, 2013 da Novatec Editora Ltda.

Google Android para Tablets

Karl Matthias Sean P. Kane

Desenvolvendo Websites com PHP

Aaron Newcomb. Novatec

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

Murillo Lo Visco. Novatec

Transcrição:

Novatec

Authorized Portuguese translation of the English edition of Just Hibernate, ISBN 9781449334376 2014 Madhusudhan Konda. This translation is published and sold by permission of O'Reilly Media, Inc., which owns or controls all rights to publish and sell the same. Tradução em português autorizada da edição em inglês da obra Just Hibernate, ISBN 9781449334376 2014 Madhusudhan Konda. Esta tradução é publicada e vendida com a permissão da O'Reilly Media, Inc., a qual detém ou controla todos os direitos para publicação e venda desta obra. Novatec Editora Ltda. [2014]. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Lúcia Ayako Kinoshita Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-355-0 Histórico de impressões: Agosto/2014 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec

Sumário Prefácio...11 Quem deve ler este livro... 11 Por que escrevi este livro... 11 Como este livro está organizado...13 Convenções usadas neste livro...15 Uso de exemplos de código de acordo com a política da O Reilly...16 Como entrar em contato conosco...16 Agradecimentos... 17 Uma nota do autor... 17 Capítulo 1 O básico do Hibernate...18 Nascimento do Hibernate...19 Domínio do problema... 21 A aplicação MovieManager... 21 Aperfeiçoando a aplicação para filmes...25 Usando o Hibernate...28 Configurando a conexão com o banco de dados...29 Criando definições de mapeamento...32 Persistência dos objetos...33 Criando o método para persistência...34 Testando os dados persistentes...35 Configurando o Hibernate...36 Resumo...39 Capítulo 2 Fundamentos do Hibernate...40 Incompatibilidade objeto-relacional...40 Incompatibilidade de herança... 41 Incompatibilidade de identidade...42 Incompatibilidade de relacionamentos e de associações...43 Principais componentes do Hibernate... 44 7

8 Introdução ao Hibernate Classes persistentes... 44 Exemplo: aplicação de trading... 44 Usando anotações...45 Configuração...47 Utilizando um arquivo de propriedades...47 Utilizando o arquivo XML...48 Propriedades de configuração...49 Configuração por meio de programação...49 Mapeamento...50 Arquivos XML para mapeamento...50 Estratégias para geração de identificadores...53 APIs de Session...55 Transações...56 Resumo...58 Capítulo 3 Anotações...59 Trabalhando com um exemplo... 60 Explorando os detalhes...62 Estratégias para geração de ID...63 Identificadores compostos... 66 Usando classe de chave primária e @Id... 66 Usando classe de chave primária e @EmbeddedId... 68 Usando @IdClass...70 Resumo... 71 Capítulo 4 Persistência de coleções...72 Design para as interfaces...72 Persistência de listas...73 Exemplo de lista: showroom de carros...74 Cliente de teste para persistência de lista...76 Persistência de conjuntos... 77 Persistência de mapas...80 Persistência de arrays...82 Persistência de bags e de idbags...84 Persistência de coleções usando anotações...87 Usando uma chave estrangeira...87 Usando uma tabela de junção... 90 Resumo... 91

Sumário 9 Capítulo 5 Associações...92 Associações...93 Multiplicidade...94 Direção...95 Associação de um para um...97 Usando uma chave primária...98 Testando a associação...100 Usando uma chave estrangeira... 102 Anotações... 105 Associação de um para muitos (ou de muitos para um)...106 Associação bidirecional de um para muitos...110 Associação de muitos para muitos... 111 Resumo...113 Capítulo 6 Conceitos avançados...114 Tipos do Hibernate...114 Tipos para entidades e valores...115 Tipos personalizados...116 Componentes...117 Caching...119 Caching de primeiro nível...119 Caching de segundo nível... 120 Caching de queries... 122 Estratégias de herança... 122 Estratégia de tabela por classe... 123 Estratégia de tabela por subclasse... 127 Estratégia de tabela por classe concreta... 130 Estratégia de tabela por classe concreta usando mapeamento XML...131 Filtros... 133 Criando definições de filtros... 133 Habilitando os filtros... 135 Dono do relacionamento (também conhecido como atributo inverso)... 135 Entidades em cascata... 136 Resumo... 138 Capítulo 7 Hibernate Query Language...139 Trabalhando com a classe Query... 140 Acessando todas as linhas...141 Paginação... 143

10 Introdução ao Hibernate Obtendo um único registro... 143 Parâmetros nomeados... 144 Usando a opção IN... 145 Parâmetros posicionais... 146 Aliases... 146 Iteradores...147 Selects...147 Funções de agregação... 149 Atualizações e remoções... 150 Critérios... 150 Queries nomeadas... 152 SQL nativo... 154 Resumo... 155 Capítulo 8 API Java Persistence...156 O Hibernate e a JPA... 157 Contexto da persistência... 158 EntityManagerFactory...161 EntityManager... 162 Persistência de objetos... 163 Salvando e fazendo consultas a entidades... 163 Resumo... 165 Sobre o autor...166 Colofão...166