Очевидно, что @OrderBy плохо работает с реализацией JPA в Hibernate:
http://docs.jboss.org/ejb3/app-server/HibernateAnnotations/reference/en/html_single/index.html#entity-mapping-association-collections
Это то, что вы используете?
В любом случае, попробуйте добавить "order by" в ваш запрос JPQL, например,
выбрать ... заказать по столу DESC
Кроме того, если вам нужна полная гибкость, сделайте собственный SQL-запрос, в котором вы выбираете свои вещи и заказываете их по своему вкусу. Вы даже можете указать свой собственный запрос, какой класс должен маршалировать результаты, так что вы получите почти то же самое, что и запрос JPQL, но с большей точностью по фактическому запросу:
@NamedNativeQuery(
имя = "myQuery",
query = "SELECT .... order by ... asc"
resultClass = MyJPAEntity.class
)
Вы можете использовать вышеперечисленное как аннотацию уровня класса для вашего класса EJB.
И да, я получаю иронию от использования платформы orm, но все еще вынужден вернуться к базовому SQL.