Отношение «один ко многим» позволяет получить дубликаты объектов без использования «различных». Зачем?
У меня есть 2 класса в отношении «один ко многим» и несколько странный HQL-запрос. Даже если я прочитал некоторые вопросы, уже опубликованные, мне это не кажется понятным.
Class Department{
@OneToMany(fetch=FetchType.EAGER, mappedBy="department")
Set employees;
}
Class Employee{
@ManyToOne
@JoinColumn(name="id_department")
Department department;
}
Когда я использую следующий запрос, я получаю дубликаты объектов Department:
session.createQuery("select dep from Department as dep left join dep.employees");
Таким образом, я должен использовать различные:
session.createQuery("select distinct dep from Department as dep left join dep.employees");
Это ожидаемое поведение? Я считаю это необычным, сравнивая его с SQL.