Итак, у меня есть 2 таблицы.Таблица пользователей и таблица Finised_exams.Таблица Finised_exams имеет user_id в качестве внешнего ключа и связана как OneToOne с таблицей users.
Я сделал отношение в модели Users следующим образом:
@OneToOne(fetch = FetchType.EAGER, mappedBy = "user")
private FinishedExam finishedExam;
А в модели FinishedExams, какэто:
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "user_id")
private User user;
Когда я называю все законченные экзамены в контроллере следующим образом:
@GetMapping("/all")
public Iterable<FinishedExam> getAllFinishedExams()
{
return finishedExamRepository.findAll();
}
Я связываю всех финишедексам с пользователями, что хорошо.
У меня вопрос: возможно ли получить ВСЕХ пользователей с их готовым экзаменом, если они есть и без него (если, в основном, это LEFT JOIN
)
Возможно ли это в Hibernate?
РЕДАКТИРОВАТЬ:
Я только что попробовал это, но он возвращает только всех пользователей без экзаменов.
@GetMapping("/allUsersWithExams")
@Fetch(FetchMode.SELECT)
public Iterable<User> getAllUsersWithTheirExams()
{
return userRepository.findAll();
}