Part II. Mapping, Queries

Table of Contents

5. Basic Mappings
Annotation versus XML
Annotation mapping
Mapping fields
Where to put annotations
XML Mapping
Field mapping
Class mapping
6. Primary key mapping
Natural versus Surrogate Ids
Assigned Id
Generated with Auto Strategy
Other Annotation Strategies
Composite Id
Equals and Hashcode
Other XML Id tags
7. Relation mapping
Selecting between List, Set, Map or array to hold many side
Uni- and Bi-directional relations
Cascading
1:1 relation
1:n
m:n
1:n:1
Recursive relation
Typed relation (XML only)
Typed relation (annotation workaround)
8. Components = Composition mapping
Composition versus entity relations
Composed class in one table
Composition as set of many classes
Equals implementation
Composition as list of many classes
Advanced details
Composition 1:n:1
Not included mappings
9. Inheritance
Use Case
Overview on mapping approaches
Single Table
Joined Inheritance
Joined Inheritance with Discriminator
Mixing Single table and Joined
Union Inheritance
XML Includes
Mapped Super Class
10. Lob with Oracle and PostgreSQL
PostgreSQL
Oracle
11. Querying data
Useful tools
Beam me into the code
JBoss Tools
Squirrel SQL Client
HQL
Select objects, scalars, etc
Simple select
Select with a unique result
Select with join returning multiple objects
Select with join returning one object
Select with join returning distinct results
Selecting a single column (scalar values)
Selecting multiple columns (scalar values)
Selecting objects and scalar values
Selecting selective properties of a class
Simple where condition
Walking through relations
Where condition in a related object
Where condition with parameters
Conditions on collections
Where condition with mapped class
Where condition with mapped class on the multiple side
All, In, Some, Exists, Any elements queries
NamedQuery
Criteria Queries
Simple select
Select with a unique result
Select with join returning objects multiple times
Select with join returning distinct objects
Select with a where condition on a related object
Selecting a single column (scalar values, projections)
Simple where condition
Where condition in relation
Where with or condition
Conditions on collections
All, In, Some, Any elements queries
Native SQL
SQL to Entity
SQL Resultset Mapping
Named SQL Queries
JDBC Connection