Мой проект изначально был сгенерирован с помощью seam-gen и компонента "Список", OfficeViewList выглядит так же, как и при первом создании.
Бин расширяет EntityQuery.
Теперь я хочу заказать результаты. Каков наилучший способ сделать это?
Хочу ли я добавить какой-нибудь класс "order by" в мой EJBQL? Или я хочу установить порядок выбора с помощью
Вот код, сгенерированный seam-gen (я изменил ОГРАНИЧЕНИЯ, но в остальном он тот же):
private static final String EJBQL =
"select officeView from OfficeView officeView";
private static final String[] RESTRICTIONS = {
"lower(officeView.addr1) like concat(lower(#{officeViewList.officeView.addr1}),'%')",
"lower(officeView.buildingId) like
concat(lower({officeViewList.officeView.buildingId}),'%')",
"lower(officeView.circuitId) like
concat('%',lower({officeViewList.officeView.circuitId}),'%')",};
public OfficeViewList() {
setEjbql(EJBQL);
setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
setMaxResults(25);
}
Перевод SQL примерно
выберите * из office_view, где заказ по office_id
Я думал использовать setOrder или setOrderColumn, как это
public OfficeViewList() {
setEjbql(EJBQL);
setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));
setOrderColumn("office_id");
setMaxResults(25);
}
но я не могу понять, как это сделать, или подходит ли что-то из этого. Я не могу найти документацию, которая действительно объясняет, как их использовать.
Или я могу добавить какое-то предложение "order by" к выражению EJBQL?
Или есть аннотация для добавления к моему бину сущности? или конструктору?
Слишком много вариантов, недостаточно знаний.
Заранее спасибо.
TDR