Встречается на собеседованиях • сегодня
Какие типы связей таблиц БД использовал
В Java при работе с БД через JPA/Hibernate используются следующие типы связей:
1. **One-to-One** (`@OneToOne`) - одна запись в одной таблице связана с одной записью в другой. Например, пользователь и его паспорт:
```java
@Entity
public class User {
@Id Long id;
@OneToOne(mappedBy = "user")
Passport passport;
}
@Entity
public class Passport {
@Id Long id;
@OneToOne @JoinColumn(name = "user_id")
User user;
}
```
2. **One-to-Many/Many-to-One** (`@OneToMany`, `@ManyToOne`) - например, отдел и сотрудники:
```java
@Entity
public class Department {
@Id Long id;
@OneToMany(mappedBy = "department")
List employees;
}
@Entity
public class Employee {
@Id Long id;
@ManyToOne @JoinColumn(name = "dept_id")
Department department;
}
```
3. **Many-to-Many** (`@ManyToMany`) - студенты и курсы:
```java
@Entity
public class Student {
@Id Long id;
@ManyToMany(mappedBy = "students")
Set courses;
}
@Entity
public class Course {
@Id Long id;
@ManyToMany
@JoinTable(name = "student_course")
Set students;
}
```
Также есть варианты с каскадированием, ленивой загрузкой и дополнительными атрибутами связи.

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