Отношение «один ко многим» позволяет получить дубликаты объектов без использования «различных». Зачем?

У меня есть 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.

Ответы на вопрос(1)

Ваш ответ на вопрос