Аннотация Hibernate @ManyToMany?

121
20 ноября 2019, 16:00

Есть такой пример:

@Entity
public class Student
{
    @Id
    private long id;
        private String name;
    @ManyToMany
    @JoinTable (name="student_university",
       joinColumns=@JoinColumn (name="student_id"),
       inverseJoinColumns=@JoinColumn(name="university_id"))
    private List<University> universities;
    // set/get не представлены
}
@Entity
public class University
{
    @Id
    private long id;
    @Column
    private String name;
    @ManyToMany
    @JoinTable(name="student_university",
       joinColumns=@JoinColumn(name="university_id"), 
       inverseJoinColumns=@JoinColumn(name="student_id"))
    private List<Student> students;
    // set/get не представлены
}

Вот описание к этому примеру - Параметр joinColumns указывает на поле, которое используется для прямой связи (идентификатор student_id). Параметр inverseJoinColumns указывает на поле, которое используется для обратной связи (идентификатор university_id). Для указания столбцов связи из таблицы используется аннотация @JoinColumn.

Мне непонятно отсюда, что значит "для прямой связи" и "для обратной связи".Почему параметры подставляются в joinColumns и inverseJoinColumns в таком, как бы обратном порядке?

READ ALSO
Как скрывать и показывать форму в таймере?

Как скрывать и показывать форму в таймере?

Хочу чтобы через каждые n-сек форма отображалась на 5 секунд, и обратно чтобы стала невидимойДанный код почему то не работает

110
Error: Program type already present: class

Error: Program type already present: class

Почему я получаю такую ошибкуНасколько я знаю здесь дело с gradle

134
Функция добавление фото (Servlet + MySQL)

Функция добавление фото (Servlet + MySQL)

Я написал код который добавляет имя, фамилию студента через сервлет в базу данных MySQLТеперь же хочу добавить функцию которая позволяет каждому...

109
Запуск проекта с Tomcat

Запуск проекта с Tomcat

Подскажите как запустить этот проект? https://githubcom/CaymanJava/online_banking

128