Я наткнулся на проблему с Hibernate. Я 2 сущности - скажем А и В, как так (Entity/Таблица аннотации опущены):спящий порядок по вложенному объекту с возможными нулевыми значениями
class A {
@ManyToOne
@JoinColumn(name = "b_id")
private B b;
}
class B {
@Column(name = "name")
private String name;
}
Теперь я пытаюсь запросить все A сущности и заказав их имени области б «ы лицо как так:
SELECT q FROM A AS q ORDER BY q.b.name asc nulls last
проблема в том, есть строки в » таблицы с нулевой имеющие внешний ключ (б равна нулю) - в ре sult, указанный выше запрос возвращает только строк, которые не содержат нуля в поле b, и я хотел бы иметь их все.
Я думаю, что спящий режим соединяется с таблицей без использования LEFT JOIN (OUTER JOIN?), В результате чего пропускаются пустые значения.
Есть ли способ изменить это поведение? Было бы здорово, если бы я смог его решить, используя аннотации в классах сущностей, потому что механизм генерации запросов довольно заблокирован.
Что вы подразумеваете под * механизм генерации запроса, который довольно заперт *? –
Это очень общий, и здесь я получил специальный случай, который происходит в 0,001% всех запросов, когда-либо сделанных. – Marcin