У меня есть объект Hibernate "Contract", в котором есть набор "ContractVersions" (отображение один-ко-многим).Вот сокращенное отображение:
<class name="Contract">
<set name="versions" order-by="version_id" mutable="false" lazy="false" fetch="join">
<key column="contract_id" not-null="true"/>
<one-to-many class="ContractVersion"/>
</set>
</class>
Затем я создаю критерии, которые выполняют поиск по контракту и хотят упорядочить результаты по дате:
criteria.addOrder(Order.desc("createdAt"));
Однако, когда я смотрю на сгенерированныйSQL, я вижу проблему.Hibernate использует «левое внешнее соединение» для выбора контрактов с версиями и добавляет оба заказа:
... order by version4_.version_id, this_.created_at desc ...
Для меня заказ по дате важнее.Есть ли способ решить эту проблему?