почему hibernate hql independent вызывает sql independent при левом соединении?

У меня есть этот тест HQL:

select distinct o from Order o left join fetch o.lineItems

, и он генерирует SQL отличается без очевидной причины:

select distinct order0_.id as id61_0_, orderline1_.order_id as order1_62_1_...

Набор результатов SQL всегда один и тот же (с отдельным SQL и без него):

order id | order name | orderline id | orderline name
---------+------------+--------------+---------------
       1 | foo        |            1 | foo item
       1 | foo        |            2 | bar item
       1 | foo        |            3 | test item
       2 | empty      |         NULL | NULL
       3 | bar        |            4 | qwerty item
       3 | bar        |            5 | asdfgh item

Почему спящий режим генерирует отдельный SQL? Отдельный SQL не имеет никакого смысла и делает запрос медленнее, чем необходимо. Это противоречит FAQ , в котором упоминается, что hql independent в данном случае - это просто ярлык для преобразователя результатов:

session.createQuery ("select independent o from Order o left присоединиться к выборке t У меня есть исключение?

13
задан Peter Mortensen 5 March 2012 в 20:01
поделиться