Adding Relationships to Your Model
The Movies application uses two pairs of inverse relationships. The first pair defines the relationship between the Movie and MovieRole entities, while the second pair defines the relationship between the MovieRole and Talent entities. An Enterprise Objects Framework relationship is directed; that is, a relationship has a source and a destination. Generally models define a relationship for each direction.
- Select the Movie entity.
- Choose Property Add Relationship.
- With the relationship selected in the right frame of the Model Editor, click the button (in the toolbar) to inspect the relationship.
- In the Inspector, select the To Many option.
- Select MovieRole as the destination entity.
- Select movieId in the Source Attributes list.
- Select movieId in the Destination Attributes list.
- Click Connect.
- Repeat the steps above to create the following relationships:
- The destination entity is Movie.
- The source attribute is movieId.
- The destination attribute is movieId.
- The destination entity is Talent.
- The source attribute is talentId.
- The destination attribute is talentId.
- The destination entity is MovieRole.
- The source attribute is talentId.
- The destination attribute is talentId.
- Choose in the toolbar pop-up list to switch the Model Editor to Diagram View.
The right frame of the Model Editor shows the Movie's relationships as well as its attributes.
Your model's Movie entity might have a different name than the movieRoles relationship shown above. That's because the wizard created your relationship, and the relationship's name is dependent on the adaptor the wizard used. Adaptors don't all have the same naming convention for to-many relationships. For example, the Oracle adaptor names Movie's relationship movieRoleArray instead of movieRoles.
If your Movie entity doesn't have a movieRoles relationship, it means that the database server's schema information for your database didn't have enough information for the wizard to create them. You need to create them by hand now. The next several steps explain how.
A new relationship named "Relationship" is added in the table view at the bottom of the Model Editor. The new relationship is already selected.
EOModeler automatically renames the relationship based on the name of the destination entity. For example, after connecting a to-many relationship from Movie to MovieRole, EOModeler names the relationship "movieRoles." To-one relationships are named with the singular form of the destination entity's name. For example, EOModeler names the inverse to-one relationship (from MovieRole to Movie) "movie."
If the wizard created your relationship and used a name other than "movieRoles," consider renaming the relationship. The rest of this tutorial assumes that your relationships are named using EOModeler's naming convention.
A to-one relationship named "movie" in the MovieRole entity where:
A to-one relationship named "talent" in the MovieRole entity where:
A to-many relationship named "movieRoles" in the Talent entity where:
You can also use the Diagram View to edit your model. Double-click an attribute or relationship to change its name. To create a relationship and its inverse, Control-drag from the relationship's source attribute to its destination attribute.
Table of Contents Next Section