9 Advanced entity association mappings

 

This chapter covers

  • Applying mapping through one-to-one entity associations
  • Using one-to-many mapping options
  • Creating many-to-many and ternary entity relationships
  • Working with entity associations with maps

In the previous chapter, we demonstrated a unidirectional many-to-one association, made it bidirectional, and finally enabled transitive state changes with cascading options. One reason we are discussing more advanced entity mappings in a separate chapter is that we consider quite a few of them rare or at least optional. It’s possible to only use component mappings and many-to-one (occasionally one-to-one) entity associations. You can write a sophisticated application without ever mapping a collection! We’ve demonstrated the particular benefits to be gained from collection mappings in the previous chapter, and the rules for when a collection mapping is appropriate also apply to all the examples in this chapter. Always make sure you actually need a collection before attempting a complex collection mapping.

We’ll start with mappings that don’t involve collections: one-to-one entity associations.

9.1 One-to-one associations

9.1.1 Sharing a primary key

9.1.2 The foreign primary key generator

9.1.3 Using a foreign key join column

9.1.4 Using a join table

9.2 One-to-many associations

9.2.1 Considering one-to-many bags

9.2.2 Unidirectional and bidirectional list mappings

9.2.3 Optional one-to-many with a join table

9.2.4 One-to-many association in an embeddable class

sitemap