Встречается на собеседованиях • сегодня
Что такое отношение Many-to-Many в Hibernate
Отношение Many-to-Many означает, что одна сущность может быть связана с несколькими экземплярами другой сущности, и наоборот. В Hibernate это реализуется через промежуточную таблицу (join table).
Пример:
```java
@Entity
public class Student {
@Id
@GeneratedValue
private Long id;
@ManyToMany
@JoinTable(
name = "student_course",
joinColumns = @JoinColumn(name = "student_id"),
inverseJoinColumns = @JoinColumn(name = "course_id")
)
private Set courses = new HashSet<>();
}
@Entity
public class Course {
@Id
@GeneratedValue
private Long id;
@ManyToMany(mappedBy = "courses")
private Set students = new HashSet<>();
}
```
Ключевые моменты:
1. Используется аннотация `@ManyToMany`
2. Требуется промежуточная таблица (указывается через `@JoinTable`)
3. Одна из сторон должна быть владельцем отношения (без `mappedBy`)
4. Для производительности лучше использовать `Set` вместо `List`

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы