Hibernate.orgCommunity Documentation

HIBERNATE - Relational Persistence for Idiomatic Java

Documentação da Referência do Hibernate

3.3.2.GA

Legal Notice

June 24, 2009


Prefácio
1. Feedback
1. Tutorial
1.1. Parte 1 – A primeira aplicação Hibernate
1.1.1. Setup
1.1.2. A primeira Classe
1.1.3. O mapeamento do arquivo
1.1.4. Configuração do Hibernate
1.1.5. Building with Maven
1.1.6. Startup and helpers
1.1.7. Carregando e salvando objetos
1.2. Part 2 - Mapeando associações
1.2.1. Mapeando a classe Person
1.2.2. Uma associação Set-based unidirectional
1.2.3. Trabalhando a associação
1.2.4. Coleção de valores
1.2.5. Associações bidirecionais
1.2.6. Trabalhando com links bidirecionais
1.3. EventManager um aplicativo para internet
1.3.1. Criando um servlet básico
1.3.2. Processando e renderizando
1.3.3. Instalando e testando
1.4. Sumário
2. Arquitetura
2.1. Visão Geral
2.2. Estados de instância
2.3. Integração JMX
2.4. Suporte JCA
2.5. Contextual sessions
3. Configuração
3.1. 1.11 Configuração programática
3.2. Obtendo uma SessionFactory
3.3. Conexões JDBC
3.4. Propriedades opcionais de configuração
3.4.1. Dialetos SQL
3.4.2. Recuperação por união externa (Outer Join Fetching)
3.4.3. Fluxos Binários (Binary Streams)
3.4.4. Cachê de segundo nível e query
3.4.5. Substituições na Linguagem de Consulta
3.4.6. Estatísticas do Hibernate
3.5. Logging
3.6. Implementado uma NamingStrategy
3.7. Arquivo de configuração XML
3.8. Integração com servidores de aplicação J2EE
3.8.1. Configuração de estratégia de transação
3.8.2. SessionFactory ligada a JNDI
3.8.3. Current Session context management with JTA
3.8.4. JMX deployment
4. Persistent Classes
4.1. A simple POJO example
4.1.1. Implement a no-argument constructor
4.1.2. Provide an identifier property (optional)
4.1.3. Prefer non-final classes (optional)
4.1.4. Declare accessors and mutators for persistent fields (optional)
4.2. Implementing inheritance
4.3. Implementing equals() and hashCode()
4.4. Dynamic models
4.5. Tuplizers
4.6. EntityNameResolvers
5. Mapeamento O/R Bassico
5.1. Declaração de mapeamento
5.1.1. Doctype
5.1.2. Hibernate-mapping
5.1.3. Class
5.1.4. id
5.1.5. Enhanced identifier generators
5.1.6. Identifier generator optimization
5.1.7. composite-id
5.1.8. Discriminator
5.1.9. Version (optional)
5.1.10. Timestamp (optional)
5.1.11. Property
5.1.12. Many-to-one
5.1.13. One-to-one
5.1.14. Natural-id
5.1.15. Component and dynamic-component
5.1.16. Properties
5.1.17. Subclass
5.1.18. Joined-subclass
5.1.19. Union-subclass
5.1.20. Join
5.1.21. Key
5.1.22. Column and formula elements
5.1.23. Import
5.1.24. Any
5.2. Hibernate types
5.2.1. Entidades e valores
5.2.2. Valores de tipos básicos
5.2.3. Tipos de valores personalizados
5.3. Mapping a class more than once
5.4. SQL quoted identifiers
5.5. Metadata alternatives
5.5.1. Using XDoclet markup
5.5.2. Using JDK 5.0 Annotations
5.6. Generated properties
5.7. Auxiliary database objects
6. Collection mapping
6.1. Persistent collections
6.2. Collection mappings
6.2.1. Collection foreign keys
6.2.2. Collection elements
6.2.3. Indexed collections
6.2.4. Collections of values and many-to-many associations
6.2.5. One-to-many associations
6.3. Advanced collection mappings
6.3.1. Sorted collections
6.3.2. Bidirectional associations
6.3.3. Associações bidirecionais com coleções indexadas
6.3.4. Associações Ternárias
6.3.5. Usando o <idbag>
6.4. Exemplos de coleções
7. Mapeamento de Associações
7.1. Introdução
7.2. Associações Unidirecionais
7.2.1. Many-to-one
7.2.2. One-to-one
7.2.3. One-to-many
7.3. Associações Unidirecionais com tabelas associativas
7.3.1. One-to-many
7.3.2. Many-to-one
7.3.3. One-to-one
7.3.4. Many-to-many
7.4. Associações Bidirecionais
7.4.1. one-to-many / many-to-one
7.4.2. One-to-one
7.5. Associações Bidirecionais com tabelas associativas
7.5.1. one-to-many / many-to-one
7.5.2. one to one
7.5.3. Many-to-many
7.6. Mapeamento de associações mais complexas
8. Mapeamento de Componentes
8.1. Objetos dependentes
8.2. Collections de objetos dependentes
8.3. Componentes como índices de Map
8.4. . Componentes como identificadores compostos
8.5. Componentes Dinâmicos
9. Inheritance mapping
9.1. The three strategies
9.1.1. Tabela por hierarquia de classes
9.1.2. Tabela por subclasse
9.1.3. Table per subclass: using a discriminator
9.1.4. . Misturando tabela por hierarquia de classes com tabela por subclasse
9.1.5. Tabela por classe concreta
9.1.6. Table per concrete class using implicit polymorphism
9.1.7. Misturando polimorfismo implícito com outros mapeamentos de herança
9.2. Limitações
10. Trabalhando com objetos
10.1. Estado dos objetos no Hibernate
10.2. Tornando os objetos persistentes
10.3. Carregando o objetos
10.4. Consultando
10.4.1. Executando consultas
10.4.2. Filtering collections
10.4.3. Criteria queries
10.4.4. Queries in native SQL
10.5. Modifying persistent objects
10.6. Modifying detached objects
10.7. Automatic state detection
10.8. Deleting persistent objects
10.9. Replicating object between two different datastores
10.10. Flushing the Session
10.11. Transitive persistence
10.12. Usando metadados
11. Transactions and Concurrency
11.1. Session e escopos de transações
11.1.1. Unidade de trabalho
11.1.2. Longas conversações
11.1.3. Considerando a identidade do objeto
11.1.4. Edições comuns
11.2. Demarcação de transações de bancos de dados
11.2.1. Ambiente não gerenciado
11.2.2. Usando JTA
11.2.3. Tratamento de Exceção
11.2.4. Timeout de Transação
11.3. Controle de concorrência otimista
11.3.1. Checagem de versão da aplicação
11.3.2. Sessão estendida e versionamento automático
11.3.3. Objetos destacados e versionamento automático
11.3.4. Versionamento automático customizado
11.4. Pessimistic locking
11.5. Connection release modes
12. Interceptadores e Eventos
12.1. Interceptadores
12.2. Sistema de Eventos
12.3. Hibernate declarative security
13. Processamento de lotes
13.1. Inserção de lotes
13.2. Batch updates
13.3. A interface StatelessSession
13.4. Operações no estilo DML
14. HQL: A linguagem de Queries do Hibernate
14.1. Case Sensitíve
14.2. A clausula from
14.3. Associações e joins
14.4. Formas e sintaxe de joins
14.5. Referring to identifier property
14.6. Clausula select
14.7. Funções de agregação
14.8. Queries polimórficas
14.9. A clausula where
14.10. Expressões
14.11. A clausula order by
14.12. A clausula group by
14.13. Subqueries
14.14. Exemplos de HQL
14.15. update e delete em lote
14.16. Dicas e Truques
14.17. translator-credits
14.18. Row value constructor syntax
15. Consultas por critérios
15.1. Criando uma instancia Criteria
15.2. Limitando o result set
15.3. Ordering the results
15.4. Associations
15.5. Dynamic association fetching
15.6. Example queries
15.7. Projections, aggregation and grouping
15.8. Detached queries and subqueries
15.9. Queries by natural identifier
16. Native SQL
16.1. Using a SQLQuery
16.1.1. Scalar queries
16.1.2. Entity queries
16.1.3. Handling associations and collections
16.1.4. Returning multiple entities
16.1.5. Returning non-managed entities
16.1.6. Handling inheritance
16.1.7. Parameters
16.2. Named SQL queries
16.2.1. Using return-property to explicitly specify column/alias names
16.2.2. Using stored procedures for querying
16.3. SQL customizado para create, update e delete
16.4. SQL customizado para carga
17. Filtrando dados
17.1. Filtros do Hibernate
18. Mapeamento XML
18.1. Trabalhando com dados em XML
18.1.1. Especificando o mapeamento de uma classe e de um arquivo XML simultaneamente
18.1.2. Especificando somente um mapeamento XML
18.2. Mapeando metadados com XML
18.3. Manipulando dados em XML
19. Aumentando a performance
19.1. Estratégias de Fetching
19.1.1. Inicializando coleções e proxies
19.1.2. Personalizando as estratégias de busca
19.1.3. Proxies de associação single-ended
19.1.4. Inicializando coleções e proxies
19.1.5. Usando busca em lote
19.1.6. Usando subselect fetching
19.1.7. Usando busca preguiçosa de propriedade
19.2. The Second Level Cache
19.2.1. Cache mappings
19.2.2. Strategy: read only
19.2.3. Strategy: read/write
19.2.4. Strategy: nonstrict read/write
19.2.5. Strategy: transactional
19.2.6. Cache-provider/concurrency-strategy compatibility
19.3. Managing the caches
19.4. The Query Cache
19.5. Understanding Collection performance
19.5.1. Taxonomy
19.5.2. Lists, maps, idbags and sets are the most efficient collections to update
19.5.3. Bags and lists are the most efficient inverse collections
19.5.4. One shot delete
19.6. Monitoring performance
19.6.1. Monitoring a SessionFactory
19.6.2. Metrics
20. Toolset Guide
20.1. Automatic schema generation
20.1.1. Customizing the schema
20.1.2. Running the tool
20.1.3. Properties
20.1.4. Using Ant
20.1.5. Incremental schema updates
20.1.6. Using Ant for incremental schema updates
20.1.7. Schema validation
20.1.8. Using Ant for schema validation
21. Example: Parent/Child
21.1. A note about collections
21.2. Bidirectional one-to-many
21.3. Cascading life cycle
21.4. Cascades and unsaved-value
21.5. Conclusion
22. Example: Weblog Application
22.1. Persistent Classes
22.2. Hibernate Mappings
22.3. Hibernate Code
23. Exemplo: Vários Mapeamentos
23.1. Employer/Employee
23.2. Author/Work
23.3. Customer/Order/Product
23.4. Exemplos variados de mapeamento
23.4.1. Associação um-para-um "Tipadas"
23.4.2. Exemplo de chave composta
23.4.3. Mmuitos-para-muitos com atributo de chave composta compartilhada
23.4.4. Conteúdo baseado em descriminação
23.4.5. Associações em chaves alternativas
24. Boas práticas
25. Database Portability Considerations
25.1. Portability Basics
25.2. Dialect
25.3. Dialect resolution
25.4. Identifier generation
25.5. Database functions
25.6. Type mappings
References