Критерии гибернации проблемы с заказом и присоединениями - PullRequest
3 голосов
/ 28 марта 2012

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

Для меня заказ по дате важнее.Есть ли способ решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...