
Autor: Gilliard Cordeiro
Idioma: Português
Páginas: 299
Ano: 2012
ISBN: 978-85-5519-201-2
Entrega: Quando o pagamento for confirmado o ebook será enviado rapidamente por e-mail.
Conteúdo
Neste livro, você encontrará as especificações mais utilizadas do Java, explicadas com exemplos práticos e claros que mostram como usar cada tecnologia em separado e como utilizá-las em conjunto.
Conheças as melhores práticas da JPA 2.0, seus mapeamentos, caches e truques de performance, e tire o máximo do JSF 2.2 compreendendo seu ciclo de vida e as novidades que surgiram nas atuais versões das especificações.
Sumário
Contato inicial
1 Introdução
1.1 A evolução da integração entre Java e Bancos de dados
1.2 Como era a vida com o JDBC?
1.3 Diminuição da impedância por meio do mapeamento
1.4 Bibliotecas ORM e o Hibernate
1.5 Muitos frameworks ORM, como evitar o vendor lock-in?
1.6 O desenvolvimento web com servlets e o padrão MVC
1.7 Tirando HTML do código Java com as JavaServer Pages
1.8 Organize seu código com a separação de responsabilidades
1.9 O MVC e os frameworks
1.10 Por que usar JSF?
1.11 O primeiro contato com o JSF
1.12 Considerações finais
2 Primeiros passos com a JPA
2.1 Definição do modelo
2.2 Configuração básica do persistence.xml
2.3 Escolha o dialeto do banco de dados
2.4 Automatização da criação e evolução das tabelas
2.5 Gravação do primeiro dado no banco de dados
2.6 Consultas simples no banco de dados com a JPA
2.7 Exclusão de dados com a JPA
2.8 Considerações finais
3 Primeiros passos com o JSF
3.1 Onde e como defino telas com o JSF?
3.2 Criação da tela e dos inputs básicos de dados
3.3 commandButton, Managed Beans e a submissão de formulários
3.4 Passe dados da tela para o Managed Bean
3.5 Como receber os parâmetros diretamente no método
3.6 Gravação do automóvel no banco de dados
3.7 Liste os dados com o dataTable
3.8 Mas minha listagem está executando várias consultas no banco...
3.9 Exclusão de dados e o commandLink
3.10 Considerações finais
Domine as ferramentas
4 Entendendo a JPA
4.1 O padrão de projetos Data Access Object (DAO)
4.2 JPA não é um DAO genérico, é contextual
4.3 Ciclo de vida de um objeto na JPA
4.4 Considerações finais
5 Como mapear tudo... ou nada!
5.1 Definições de entidade
5.2 Faça atributos não serem persistidos com o @Transient
5.3 Mapeie chaves primárias simples
5.4 Mapeie chaves compostas
5.5 A anotação @Basic
5.6 @Table, @Column e @Temporal
5.7 @Version e lock otimista
5.8 Relacionamentos muitos para um com @ManyToOne
5.9 @OneToOne
5.10 Relacionamentos bidirecionais
5.11 O que tem a ver o dono do relacionamento com a operação em cascata?
5.12 Organize melhor suas entidades e promova reaproveitamento com @Embeddable e @Embedded
5.13 Relacionamentos um para muitos com o @OneToMany e @ManyToOne
5.14 A importância do Lazy Loading, o carregamento preguiçoso
5.15 @Lob
5.16 @ElementCollection
5.17 Relacionamentos muitos para muitos com o @ManyToMany
5.18 Customize as colunas de relacionamentos com @JoinColumn e @JoinColumns
5.19 Configure as tabelas auxiliares com @JoinTable
5.20 Considerações finais
6 Consultas com a JPQL e os problemas comuns na integração com o JSF
6.1 Filtre dados com a Java Persistence Query Language (JPQL)
6.2 Como aplicar funções às consultas
6.3 Onde estão meus joins?
6.4 Execute suas consultas e use parâmetros
6.5 Utilize funções de agregação
6.6 Faça subconsultas com a JPQL
6.7 Agrupamentos e HAVING
6.8 Consultas complexas... resultados complexos?
6.9 Use o Select New e esqueça os arrays de Object
6.10 Organize suas consultas com Named Queries
6.11 Execute as Named Queries
6.12 Relacionamentos Lazy, N+1 Query e Join Fetch
6.13 Evite a LazyInitializationException com o OpenEntityManagerInView
6.14 O problema das N+1 consultas e como resolvê-lo
6.15 Considerações finais
7 Entenda o JSF e crie aplicações web
7.1 Se prepare para um mundo diferente, baseado em componentes
7.2 A web stateless contra a web stateful
7.3 O ciclo de vida das requisições no JSF
7.4 Aja sobre as fases do JSF com os PhaseListeners
7.5 Conheça os componentes do JSF
7.6 A diferença entre Action e ActionListener
7.7 Padronização no carregamento de recursos
7.8 Entenda os conversores nativos, o f:convertDateTime e o f:convertNumber
7.9 Conversores customizados
7.10 Conheça os validadores nativos
7.11 E quando os validadores nativos não fazem o que eu quero?
7.12 Novidade: JSF com GET e bookmarkable URLs
7.13 Regras de navegação
7.14 Entenda os escopos e saiba como e quando trabalhar com cada um
7.15 Considerações finais
8 Validações simplificadas na JPA e no JSF com a Bean Validation
8.1 Trabalhe com os validadores e crie sua própria validação
8.2 Organize grupos de validação
8.3 A integração entre Bean Validation e JPA
8.4 A integração entre Bean Validation e JSF
8.5 Considerações finais
Desenvolvendo a fluência
9 Enriquecendo nossa aplicação JSF
9.1 Combos em cascata e commands em dataTable
9.2 Mostre mensagens com h:message e h:messages
9.3 Internacionalizando nossa aplicação
9.4 JSF e AJAX
9.5 Organize o código das telas com templates
9.6 Composite Components: criando nossos próprios componentes a partir de outros
9.7 Criar um jar com componentes customizados
9.8 Considerações finais
10 Truques que podem aumentar a escalabilidade e a performance da sua aplicação
10.1 Utilize o cache de segundo nível da JPA
10.2 Faça cache de consultas
10.3 Colhendo estatísticas da nossa camada de persistência
10.4 Relacionamentos extra-lazy
10.5 Paginação virtual e real de dados
10.6 Utilizando Pool de conexões
10.7 Tornando o JSF mais leve com o uso inteligente de AJAX
10.8 Quando possível, manipule componentes JSF no lado do cliente
10.9 Considerações finais
11 Conclusão
12 Apêndice: iniciando projeto com Eclipse
12.1 Adicionando o Tomcat no Eclipse
12.2 Criando o projeto web
12.3 Baixando os jars do JSF
12.4 Configurando a JPA