Учитывая представление таблиц базы данных, в которых через сущность соединяются два объекта, можно ли сортировать другой объект, задающий порядок сортировки каким-либо образом через аннотации?Как сортировать таблицу ассоциации в спящем режиме?
Рассмотрим, грубо говоря, следующие таблицы базы данных:
actor (id, name)
credit (actorId, movieId, roleName)
movie (id, title, year)
и гибернация объекты, как:
@Entity
class Actor {
@Id
Integer id;
@Column
String name;
@OneToMany
@JoinColumn(name = "actorId")
List<Credit> credits;
}
@Entity
class Credit {
@Column
String roleName;
@ManyToOne
@JoinColumn(name = "movieId")
Movie movie;
}
@Entity
class Movie {
@Id
Integer id;
@Column
Integer year;
@Column
String title;
}
Так что я хотел бы иметь возможность по умолчанию сортировка возврата заказа Credits для Актер в порядке убывания к году фильма:
actor.getCredits(); // Returns credits in order of Credit.movie.year
Кажется, что один уровень глубокое присоединение довольно просто сортировать с помощью @OrderBy, например @OrderBy ("roleName") ... но как мне перейти еще глубже?
Спасибо!
Этим решением имеет серьезный недостаток, заключающийся в том, что подкачки теперь стали невозможной, поскольку результаты сортируются в приложении ярусе вместо уровня DB! –