Suggestions in Documenting Hibernate
Hibernate type system defines entity type and value type; the difference between them is that entity type has its own independent life cycle in terms of persistence but value type does not have. While Hibernate Reference for 2.1.6 describes this precisely, the Hibernate in Action book causes some confusion when it discusses “component” and defines it as “a user-defined class that is persistent to the same table as the owning entity” (page 94). The book also causes confusion when it claims value type does not have database identity. Examples in Chapters 6 about collection of value type are clearly contradicted to such a claim.
I think neither the reference document nor the book does a good job in describing collection, component mapping and association. But those topics are the most difficult ones to both beginners and experienced users, and correct understanding of those topics is critical in real-life application of Hibernate. The community should try to do a better job on this front.
I suggest an exposition along the line of following ideas:
(1) Entity and value type are defined as in the paragraph
(2) Component is user-defined value type
(3) Collection can be entity types or value types, particularly components
(4) Association is relationship among entity types
(5) Aggregation is relationship between entity type and contained value types
(6) Navigation direction is an issue for both association and aggregation relationships
(7) Multiplicity is an issue for both association and aggregation relationships, and collection appear as the many side of association and aggregation.
(8) Cascading behavior applies to both association and aggregation relationship
(9) Fetching strategy applies to both association and aggregation relationship
(10) “inverse” is an indication for bi-directional relationship, with purpose of tuning persistent life cycle actions by Hibernate
Generally the exposition should refrain from discussion on the how objects are persisted in database, instead, follow strictly a top-down approach with the well-accepted persistence techniques for various objects and object relationships. Otherwise, the exposition can be so complicated that there is just no way for people not to be lost.

