Creating Relationships in Entities
When relationships are created between entities:
- The respective annotated properties are added to the source files of the entity classes, marked
with gutter icons in the editor:
- Links appear in the ER diagram of a persistence unit:
- Nodes are added to the entity view in the Persistence tool window:
IntelliJ IDEA suggests several ways to create relationships between entities:
- By editing the entity classes
- Using drag-and-drop in ER diagrams
- Using the context menu of an entity
To create a relationship using the editor
- Open the desired entity class for editing.
- Type field declaration for a new relationship. For example,
privateBookbookTitle;
- Create getter and setter methods. To do that, press Alt+Insert,
and select from the suggestion list. For example:
publicBook getBookTitle() {returnbookTitle; }public voidsetBookTitle(Book bookTitle){this.bookTitle= bookTitle; }
- Annotate the field with the desired relationship annotation. For example:
@OneToOne
If the required import is missing, use the suggested quick fix.
- If required, next to the annotation, specify the following parameters:
- Strategy for fetching data from the database
- Cascadable options to be propagated to the associated entities
- Owning entity
- Target entity
- Mapping field
For example:
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, optional =false, mappedBy ="takenBy")
To create relationships using drag-and-drop in ER diagrams
- In the Persistence tool window, right-click the desired persistence unit, and select in the context menu.
- In the diagram, select the source entity and draw a link to the target entity.
- In the Create Relationship dialog box, specify the options for the owner and the inverse side of a relationship. Note that if you specify options for one side of a relationship only, it will be created unidirectional. In particular, specify the following options:
To create a relationship using an entity context menu
- In the Persistence tool window, right-click the desired persistence unit and choose on the context menu.
- In the dialog box that opens, specify the relationship name and type. By default, the entity in question becomes the owner of a relationship. If you want to make it the inverse side, check the Inverse option. Click OK.
See Also
Concepts:
Last modified: 13 July 2016