Core Data doesn't have these because the typical use for such a join table is to implement a many-to-many relationship. Since Core Data natively supports to-one and to-many relationships, and also handles inverse management automatically, in the case of the SQLite persistent store it'll also transparently manage the join table for a to-many relationship with a to-many inverse.
If you actually need to model a relationship via a separate entity, on the other hand, you'll have to model that explicitly. To provide a way of accessing the objects on the other side of that relationship, you can use transient relationships with accessor methods that do the heavy lifting. However, these transient relationships can only be used with in-memory queries; queries that don't cause full managed objects to be created won't be able to use them.
by Chris Hanson — Dec 30
If you actually need to model a relationship via a separate entity, on the other hand, you'll have to model that explicitly. To provide a way of accessing the objects on the other side of that relationship, you can use transient relationships with accessor methods that do the heavy lifting. However, these transient relationships can only be used with in-memory queries; queries that don't cause full managed objects to be created won't be able to use them.