Many-to-many relationships can be modeled in two different ways:
- By modeling a join table as an ObjEntity. This is the most trivial case but it makes traversing many-to-many relationships relatively inconvenient.
- Making join table transparent to the object model. This is achieved by using flattened relationships discussed further in this chapter.