Как я могу динамически отсортировать свойство коллекции в JPA?

У нас есть следующий класс JPA:

@Entity
class Supplier {
  // ... id property etc.

  @OneToMany
  @OrderBy("someProperty")
  private List<Region> regions;
}

Это отлично работает в обычном случае. Однако у нас есть несколько многоязычных данных, где значения хранятся в свойствах типа nameEn , nameDe , nameZh . Точное свойство для использования зависит от вошедшего в систему пользователя. Например, немецкоязычный пользователь должен видеть регионы так, как если бы они были аннотированы @OrderBy ("nameDe") .

Как я могу этого добиться?

Я знаю, что могу отсортировать коллекция в моем коде после того, как она была загружена, но это затрудняет разбиение результатов на страницы.

8
задан David Sykes 8 December 2010 в 17:20
поделиться