-->

Many-To-Many by IntelliJ IDEA

Создание сущностных POJO-классов в IntelliJ IDEA из таблиц базы данных с отношением Многие-Ко-Многим:

  1. Выбрать вторую таблицу отношения (первая уже выбрана);
  2. Прописать имя свойства, которое должно быть добавлено к этому объекту из другой сущности, - groupSet;
  3. Прописать имя свойства, которое должно быть добавлено к этому объекту из другой сущности, - userSet;
  4. Выбрать тип свойства - Set<> (в случае М2М);
  5. Выбрать служебную, связывающую таблицу (Join Table);
  6. Сопоставляем ключевые поля связанных таблиц с полями связывающей.
@Entity
public class User {
    private int id;
    private String username;
    private String password;
    private Set<Group> groupSet;

.....

    @ManyToMany
    @JoinTable(name = "link_user_group",
            joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id", nullable = false),
            inverseJoinColumns = @JoinColumn(name = "group_id", referencedColumnName = "id", nullable = false))
    public Set<Group> getGroupSet() {
        return groupSet;
    }

    public void setGroupSet(Set<Group> groupSet) {
        this.groupSet = groupSet;
    }
}

@Entity
public class Group {
    private int id;
    private String name;
    private Set<User> userSet;

.....

    @ManyToMany(mappedBy = "groupSet")
    public Set<User> getUserSet() {
        return userSet;
    }

    public void setUserSet(Set<User> userSet) {
        this.userSet = userSet;
    }
}

Комментариев нет :

Отправить комментарий