Могу ли я заказать в EJBQL функцию, которая не сопоставлена ​​со столбцом в базе данных? - PullRequest
1 голос
/ 11 ноября 2009

Я бы хотел заказать запрос функцией, которая использует свойства класса. Что-то вроде:

@entity
class A
{
private int id;
private String name;

public int StringLength()
{
return name.length();
}

}

А предложение примерно так: select n from A order by name.StringLength(). Возможно ли это?

Ответы [ 2 ]

1 голос
/ 11 ноября 2009

Нет, вы не можете, но если вы хотите сделать запрос на основе длины одного из свойств, вы можете использовать функцию длины, аналогичную SQL:

select n from A order by length(name)
0 голосов
/ 11 ноября 2009

Ответ Дэвида был верным - вы не можете вызвать функцию - но в EJBQL запрос должен выглядеть примерно так:

select n from A n order by length(n.name)
...