IntelliJ IDEA 14.0.0 Web Help

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:

    jpaNewRelationship.png

  • Links appear in the ER diagram of a persistence unit:

    jpaNewRelationshipDiagram.png

  • Nodes are added to the entity view in the Persistence tool window:

    jpaNewRelationshipProjectView.png

IntelliJ IDEA suggests several ways to create relationships between entities:

To create a relationship using the editor

  1. Open the desired entity class for editing.
  2. Type field declaration for a new relationship. For example,
    private Book bookTitle;
  3. Create getter and setter methods. To do that, press Alt+Insert, and select Getter and Setter from the suggestion list. For example:
    public Book getBookTitle() { return bookTitle; } public void setBookTitle(Book bookTitle){ this.bookTitle = bookTitle; }
  4. Annotate the field with the desired relationship annotation. For example:
    @OneToOne

    If the required import is missing, use the suggested quick fix.

  5. 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

  1. In the Persistence tool window, right-click the desired persistence unit, and select ER Diagram in the context menu.
  2. In the diagram, select the source entity and draw a link to the target entity.
  3. 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:
    • Relationship name
    • Multiplicity
    • Owner of a relationship
    • Cascading options
    • Fetching strategy

    Click OK.

To create a relationship using an entity context menu

  1. In the Persistence tool window, right-click the desired persistence unit and choose New | <relationship type> on the context menu.
  2. 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

Last modified: 4 December 2014
comments powered by Disqus