Java Persistence com Hibernate/

por BAUER, Christian
[ Livros ] Publicado por : Ciência Moderna, (Rio de Janeiro:) Detalhes físicos: 844 p. ISBN:9788573936148. Ano: 2007 Tipo de Material: Livros
Tags desta biblioteca: Sem tags desta biblioteca para este título. Faça o login para adicionar tags.
Localização atual Classificação Exemplar Situação Previsão de devolução Código de barras Reservas do item
Biblioteca Agamenon Magalhães
005.133 B344j (Percorrer estante) 1 Disponível 2019-0048
Total de reservas: 0

SUMÁRIO
PRÓLOGO À EDIÇÃO REVISADA
PRÓLOGO À PRIMEIRA EDIÇÃO
PREFÁCIO À EDIÇÃO REVISADA
PREFÁCIO À PRIMEIRA EDIÇÃO
AGRADECIMENTOS
ESTE LIVRO
A ILUSTRAÇÃO DA CAPA

PARTE 1-INTRODUÇÃO AO HIBERNATE E AO EJB 3.0

Capitulo 1— ENTENDA PERSISTÊNCIA OBJETO/RELACIONAL

1.1 O que é persistência?
1.1.1 Bancos de dados relacionais
1,2 Entenda o SQL
1. 1.3 Como usar SQL flO Java
1.1.4 Persistência em aplicações orientadas para objetos
1.2 Disparidade do paradigma
1.2.1 Problema da granulosidade
1.2.2 Problema dos subtipos
1.2.3 Problema da identidade
1.2.4 Problemas relacionados às associações
1.2.5 Problema de navegação de dados
1.2.6 Custo da disparidade
1.3 Camadas de persistência e alternativas
1.3.1 Arquitetura em camadas
1.3.2 Como codificar à mão uma camada de persistência com SQL/JDBC
1.3.3 Como utilizar serialização
1.3.4 Sistemas de banco de dados orientados para objetos
1.3.5 Outras opções
1.4 Mapeamento objeto/relacional
1.4.1 O que é ORM?
1.4.2 Problemas genéricos de ORM
1.4.3 Por que ORM
1.4.4 Apresentação do Hibernare, EJB3 e JPA
1.5 Resumo

CAPÍTULO 2— COMO COMEÇAR UM PROJETO

2.1 Como começar um projeto com Hibernare
2.1 .1 Selecione um processo de desenvolvimento
2.1,2 Como montar o projeto
2.3.3 Como configurar e inicializar o Hibernare
2.1.4 Como rodar e testar a aplicação
2.2 Como começar um projeto com Java Persistence
2.2.1 Como usar o Hibernare Annotations
2.2.2 Como usar o Hibernare EntityManager
2.2.3 Introdução aos componentes EJB
2.2.4 Como trocar para interfaces do Hibernare
2.3 Engenharia reversa em um banco de dados legado
2.3.1 Como criar a configuração do banco de dados
2.3.2 Como customizar a engenharia reversa
2.3.3 Como gerar código-fonte Java
2.4 Como integrar com serviços Java EE
2.4.1 Como integrara JTA
2.4.2 Session Factory vinculada a JNDI
2.4.3 Como implantar o serviço JMX
2.5 Resumo

CAPÍTULO 3-MODELOS DE DOMÍNIO E METADADOS
3.1 Aplicação Caveat Emptor
3. 1.1 Como analisar o domínio de negócios
3.1.2 Modelo de domínio do CaveatEmptor
3.2 Como implementar o modelo de domínio
3.2.1 Como tratar o vazamento das preocupações
3.2.2 Persistência transparente e automatizada
3.2.3 Como escrever POlOs e classes persistentes de entidade
3.2.4 Como implementar associações no POJO
3.2.5 Como adicionar lógica aos métodos de acesso
3.3 Metadados de mapeamento objeto/relacional
3.3.1 Metadados em XML
3.3.2 Metadados baseados em anotação
3.3.3 Como usar o XDocler
3.3.4 Como tratar os metadados globais
3.3.5 Como manipular os metadados em tempo de execução
3.4 Representação alternativa de entidade
3.4.1 Como criar as aplicações dinâmicas
3.4.2 Como representar os dados em XML
3.5 Resumo

PARTE 2-CONCEITOS E ESTRATÉGIAS DE MAPEAMENTO

Capitulo 4-COMO MAPEAR CLASSES PERSISTENTES

4.1 Entenda entidades e tipos de valor
4.1.1 Modelos de domínio de granulosidade fina
4.1.2 Como definir conceito
4.1.3 Como identificar as entidades e os tipos de valor
4.2 Como mapear entidades com identidade
4.2.1 Entenda identidade e igualdade Java
4.2.2 Como tratar a identidade do banco de dados
4.2.3 Chaves primárias do banco de dados
4.3 Opções de mapeamento de classe
4.3.1 Geração dinâmica de SQL
4.3.2 Como tornar uma entidade imutável
4.3.3 Como nomear entidades para consultas
4.3.4 Como declarar um nome de pacote
4.3.5 Como pôr entre aspas os identificadores SQL
4.3.6 Como implementar convenções de nomenclatura
4.4 Modelos e mapeamentos de granulosidade fina
4.4.1 Como mapear propriedades básicas
4.4,2 Como mapear componentes
4.5 Resumo

Capitulo 5— HERANÇA E TIPOS CUSTOMIZADOS

5.1 Como mapear herança de classe
5. 1.1 Tabela por classe concreta com polimorfismo implícito
5.1.2 Tabela por classe concreta com uniões
5.1.3 Tabela por hierarquia de classe
5.1.4 Tabela por subclasse
5.1.5 Como misturar estratégias de herança
5.1.6 Como escolher uma estratégia
5.2 O sistema de tipo do Hibernare
5.2.1 Recapitulação de entidade e tipos de valor
5.2.2 Tipos de mapeamento inerentes
5.2.3 Como usar os tipos de mapeamenro
5.3 Como criar tipos de mapeamento customizados
5.3.1 Considere os tipos de mapeamento customizados
5.3.2 Os pontos de extensão
5.3.3 O caso para tipos de mapeamento customizados
5.3.4 Como criar um UserType
5.3.5 Como criar um CompositeUserType
5.3.6 Como parametrizar os tipos customizados
5.3.7 Como mapear as enumerações
5.4 Resumo

Capitulo 6 - COMO MAPEAR COLEÇOES E ASSOCIAÇÕES DE ENTIDADE

6.1 Conjuntos, sacolas, listas e mapas de tipos de valor
6.1 .1 Como selecionar uma incerface de coleção
6.1.2 Como mapear um conjunto
6.1.3 Como mapear uma sacola identificadora
6.1.4 Como mapear uma lista
6.1.5 Como mapear um mapa
6.1.6 Coleções classificadas e ordenadas
6.2 Coleções de componentes
6.2.1 Como escrever classe componente
6.2.2 Como mapear coleção
6.2.3 Como habilitar navegação bidirecional.
6.2.4 Como evitar colunas not-null
6.3 Como mapear coleções com anotações
6.3.1Mapeamento básico de coleção
6.3.2 Coleções classificadas e ordenadas
6.3.3 Como mapear uma coleção de objetos embutidos
6.4 Como mapear um relacionamento pai/filho
6.4.1Multiplicidade
6.4.2 A associação mais simples possível
6.4.3 Como tornar a associação bidirecional
6.4.4 Como cascatear estado do objeto
6.5 Resumo

Capitulo 7- MAPEAMENTOS AVANÇADOS DE ASSOCIAÇÃO DE ENTIDADE

7.1 Associações de entidade monovaloradas
7. 1.1 Associações de chave primária compartilhada
7.1.2 Associações de chave estrangeira um-para-um
7.1.3 Como mapear com uma tabela de junção
7.2 Associações de entidade multivaloradas
7.2.1 Associações um-para-muitos
7.2.2 Associações muitos-para-muitos
7.2.3 Como adicionar colunas em tabelas de junção
7.2.4 Como mapear mapas
7.3 Associações polimórficas
7.3.1 Associações polimórficas muitos-para-um
7.3.2 Coleções polimórficas
7.3.3 Associações polimórficas para uniões
7.3.4 Tabela polimórfica por classe concreta
7.4 Resumo

Capitulo 8- BANCO DE DADOS LEGADO E SQL customizado

8.1Como integrar banco de dados legado
8.1. 1 Como tratar chaves primárias
8.1.2 Condições de junção arbitrárias com fórmulas
8.1.3 Como juntar tabelas arbitrárias
8.1.4 Como trabalhar com gatilhos
8.2 Como customizar o SQL
8.2.1 Como escrever declarações CRUD customizadas
8.2.2 Como integrar procedimentos e funções armazenados
8.3 Como melhorar a DDL do esquema
8.3.1 Nomes e tipos de dados SQL customizados
8.3.2 Como garantir a consistência dos dados
8.3.3 Como adicionar restrições de domínios e coluna
8.3.4 Restrições no nível de tabela
8.3.5 Restrições de banco de dados
8.3.6 Como criar índices
8.3.7 Como adicionar DDL auxiliar
8.4 Resumo

PARTE 3 -PROCESSAMENTO CONVERSACIONAL DE OBJETOS

CAPÍTULO 9 COMO TRABALHAR COM OBJETOS

9.1 Ciclo de vida da persistência
9. 1.1 Estados de objeto
9.1.2 Contexto de persistência
9.2 Identidade e igualdade de objeto
9.2.1 Introdução às conversações
9.2.2 Escopo de identidade do objeto
9.2.3 Identidade de objetos desligados
9.2.4 Como estender um contexto de persistência
9.3 Interfaces do Hibernare
9.3.1 Como guardar e carregar objetos
9.3.2 Como trabalhar com objetos desligados
9.3.3 Como gerenciar o contexto de persistência
9.4 API do Java Persistence
9.4.1 Como guardar e carregar objetos
9.4.2 Como trabalhar com instâncias de entidade desligadas
9.5 Como usar o Java Persistence em componentes EJB
9.5.1 Como injetar uma EntityManager
9.5.2 Como pesquisar uma EntityManager
9.5.3 Como acessar uma EntityManagerFactory...
9.6 Resumo

CAPÍTULO10— TRANSAÇÕES E CONCORRÊNCIA

10.1 Noções básicas de transação
10.1.1 Transações de banco de dados e de sistema
10. 1.2 Transações em uma aplicação Hibernare
10.1.3 Transações com Java Persistence
10.2 Como controlar acesso concorrente
10.2.1 Entenda concorrência no nível do banco de dados
10.2.2 Controle de concorrência otimista
10.2.3 Como obter garantias adicionais de isolamento
10.3 Acesso não transacional a dados
10.3.1 Como desmitificar os mitos da autoconfirmação
10.3.2 Como trabalhar de forma não transacional com o Hibernare
10.3.3 Transações opcionais com JTA
10.4 Resumo

CAPÍTULO 11 - COMO IMPLEMENTAR CONVERSAÇÕES

11.1 Como propagar a Session do Hibernare
11.1.1 O caso de uso para propagação de Session
11.1.2 Propagação através de thread-local
11.1.3 Propagação com JTA
11. 1.4 Propagação com EJBs
11.2 Conversações com o Hibernare
11.2.1 Como fornecer garantias conversacionais
11.2.2 Conversações com objetos desligados
11.2.3 Como estender uma Session para uma conversação
11.3 Conversações com JPA
11.3.1 Propagação do contexto de persistência em Java SE
11.3.2 Como fundir objetos desligados em conversações
11.3.3 Como estender o contexto de persistência em Java SE
11.4 Conversações com EJB 3.0
11.4.1Como propagar contexto com EJBs
11.4.2 Contextos de persistência estendidos com EJBs
11.5 Resumo

CAPÍTULO 12— COMO MODIFICAR OBJETOS EFICIENTEMENTE

12.1 Persistência transitiva
12. 1.1 Persistência por acessibilidade
12.1.2 Como aplicar cascateamento para as associações
12.1.3 Como trabalhar com estado transitivo
12.1.4 Associações transitivas com JPA
12.2 Operações em massa e em lote
12.2.1 Declarações em massa com HQLe JPA QL
12.2.2 Como processar em lotes
12.2.3 Como usar uma Session sem estado
12.3 Filtragem de dados e interceptação
12.3.1 Filtros de dados dinâmicos
12.3.2 Como interceptar eventos do Hibernare
12.3.3 O sistema de evento do núcleo
12.3.4 Receptores e callbacks de entidade
12.4 Resumo

CAPÍTULO 13— Como OTIMIZAR A RECUPERAÇÃO E O CACHEAMENTO

13.1 Como definir o plano de recuperação global
13.1.1 As opções de recuperação de objeto
13.1.2 O plano de recuperação preguiçosa padronizada
13.1.3 Entenda proxies
13.1.4 Como desabilitar a geração de proxy
13.1.5 Carregamento ansioso de associações e coleções
13.1.6 Carregamento preguiçoso com interceptação
13.2 Como selecionar uma estratégia de recuperação
13.2.1 Como pré-recuperar dados em lotes
13.2.2 Como pré-recuperar coleções com subseleçóes
13.2.3 Recuperação ansiosa com junções
13.2.4 Como otimizar a recuperação para tabelas secundárias
13.2.5 Diretrizes de otimização
13.3 Fundamentos do cacheamento
13.3.1 Estratégias e escopos de cacheamento
13.3.2 A arquitetura do cache do Hibernare
13.4 Cacheamento na prática
13.4.1 Como selecionar uma estratégia de controle de concorrência
13.4.2 Entenda regiões do cache
13.4.3 Como configurar um fornecedor de cache local
13.4.4 Como configurar um cache replicado
13.4.5 Como controlar o cache de segundo nível
13.5 Resumo

CAPÍTULO 14— COMO CONSULTAR COM HQL E JPA QL

14.1 Como criar e rodar consultas
14. 1.1 Como preparar uma consulta
14.1.2 Como executar uma consulta
14.1.3 Como usar consultas nomeadas
14.2 Consultas HQL e JPA QL básicas
14.2.1 Seleção
14.2.2 Restrição
14.2.3 Projeção
14.3 Junções, consultas de relatório e subseleções
14.3.1 Como juntar relações e associações
14.3.2 Consultas de relatório
14.3.3 Como usar subseleções
14.4 Resumo

CAPITULO 15 – OPÇÕES AVANÇADAS DE CONSULTA
15.1 Como consultar com critérios e exemplo
15.1.1 Consultas básicas por critérios
15.1.2 Junções e recuperação dinâmica
15.1.3 Projeção e consultas informativas
15.1.4 Consulta por exemplo
15.2 Como usar consultas em SQL nativo
15.2.1 Tratamento automático do conjunto de resultados
15.2.2 Como recuperar valores escalares
15.2.3 SQL nativo em Java Persistence
15.3 Como filtrar coleções
15.4 Como cachear resultados de consulta
15.4.1 Como habilitar o cache do resultado de consulta
15.4.2 Entenda o cache de consulta
15.4.3 Quando usar o cache de consulta
15.4.4 Pesquisas ao cache por identificador natural
15.5 Resumo

CAPITULO 16- COMO CRIAR E TESTAR APLICAÇÕES EM CAMADAS

16.1 O Hibernare em uma aplicação web
16. 1.1 Como introduzir o caso de uso
16.1.3 O padrão Open Session in View
16.1.4 Como projetar inteligentes modelos de domínio
16.2 Como criar uma camada de persistência
16.2.1 Um genérico padrão de objeto de acesso a dados
16.2.2 Como implementar a interface CRUD genérica
16.2.3 Como implementar DAOs de entidade
16.2.4 Como usar objetos de acesso a dados
16.3 Introdução ao padrão Command
16.3.1 As interfaces básicas
16.3.2 Como executar objetos de comando
16.3.3 Variações do padrão Command
16.4 Como projetar aplicações com EJB 3.0
16.4.1 Como implementar uma conversação com stateful beans
16.4.2 Como escrever DAOs com EJBs
16.4.3 Como utilizar injeção de dependência
16.5 Como testar
16.5.1 Entenda os diferentes tipos de testes
16.5.2 Introdução ao TestNG
16.5.3 Como testar a camada de persistência
16.5.4 Considere benchmarks de performance
16.6 Resumo

CAPÍTULO 17— INTRODUÇÃO AO J Boss Seam

17.1 O modelo de programação do Java EE 5.0
17.1.1 Considere JavaServer Faces
17.1.2 Considere EJB 3.0
17.1.3 Como escrever uma aplicação web com JSF e EJB 3.0
17.1.4 Análise da aplicação
17.2 Como melhorar a aplicação com o Seam
17.2.1 Como configurar o Seam
17.2.2 Como vincular páginas a componentes Seam com estado
17.2.3 Análise da aplicação Seam
17.3 Entenda componentes contextuais
17.3.1 Como escrever a página de login
17.3.2 Como criar os componentes
17.3.3 Como apelidar variáveis contextuais
17.3.4 Como completar a característica de login/logout
17.4 Como validar entrada do usuário
17.4.1 Introdução ao Hibernate Validator
17.4.2 Como criar a página de registro
17.5 Como simplificar a persistência com o Seam
17.5.1 Como implementar uma conversação
17.5.2 Como deixar o Seam gerenciar o contexto de persistência
17.6 Resumo

APÊNDICE A - FUNDAMENTOS DO SQL
APÊNDICE B - GUIA DE REFERÊNCIA RÁPIDA: MAPEAMENTO
REFERÊNCIAS
ÍNDICE

Não há comentários para este material.

Acesse sua conta para postar um comentário.

Clique em uma imagem para visualizá-la no visualizador de imagem

    Biblioteca Agamenon Magalhães|(61) 3221-8416| biblioteca@cade.gov.br| Setor de Edifícios de Utilidade Pública Norte – SEPN, Entrequadra 515, Conjunto D, Lote 4, Edifício Carlos Taurisano, térreo