Как написать JPA-запрос с предложением «order by» для свойства, которое может быть нулевым - PullRequest
2 голосов
/ 10 февраля 2012

Я определил сущность JPA "A" с отношением @ManyToOne к другой сущности JPA "B".

@Entity
class A {

    String name;

    int sortOrder

    @ManyToOne
    B b;

}

Эта ссылка может быть нулевой или может быть заполнена.Теперь я хотел бы запросить все как и сортировать по B.name.К сожалению, что-то вроде

find("order by B.name, sortOrder, name")

, кажется, отбрасывает любое как таковое (Ab = null).Каков наилучший способ написать этот запрос?

Я хочу, чтобы все As и я сортировали их по их ссылке B.name, если она существует ... объединяя все те, у которых нет свойства B, вместе.

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

вам нужно левое соединение.

select a from A a left join a.b b order by b.name, a.sortOder, a.name

или что-то в этом роде.

0 голосов
/ 10 февраля 2012

Есть несколько подходов ... Наборы / Компараторы, HQL, Native Sql, @Sort аннотации ...

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