Встречается на собеседованиях • сегодня
Какие знаешь связи в Hibernate
Hibernate поддерживает несколько типов связей между сущностями:
1. **One-to-One** - одна сущность связана с одной другой сущностью. Например, пользователь и паспорт:
```java
@Entity
public class User {
@Id
private Long id;
@OneToOne
@JoinColumn(name = "passport_id")
private Passport passport;
}
```
2. **One-to-Many/Many-to-One** - одна сущность связана с коллекцией других сущностей. Например, отдел и сотрудники:
```java
@Entity
public class Department {
@Id
private Long id;
@OneToMany(mappedBy = "department")
private List employees;
}
@Entity
public class Employee {
@ManyToOne
@JoinColumn(name = "department_id")
private Department department;
}
```
3. **Many-to-Many** - коллекция сущностей связана с другой коллекцией. Например, студенты и курсы:
```java
@Entity
public class Student {
@ManyToMany
@JoinTable(name = "student_course",
joinColumns = @JoinColumn(name = "student_id"),
inverseJoinColumns = @JoinColumn(name = "course_id"))
private Set courses;
}
```
4. **Embedded** - встраивание объекта как часть сущности (не является связью в классическом понимании, но часто используется).
Связи могут быть:
- Uni-directional (однонаправленные)
- Bi-directional (двунаправленные)
- Eager/Lazy loading (жадная/ленивая загрузка)

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