我可以通过未映射到数据库中的列的函数在EJBQL中订购吗?

时间:2009-11-11 14:40:41

标签: java jpa ejbql

我想通过使用该类属性的函数来命令查询。类似的东西:

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

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

}

这句话就像:select n from A order by name.StringLength()。有可能吗?

2 个答案:

答案 0 :(得分:1)

不,你不能,但如果你想根据其中一个属性的长度进行查询,你可以使用类似于SQL的length函数:

select n from A order by length(name)

答案 1 :(得分:0)

大卫的答案是对的 - 你不能调用函数 - 但是在EJBQL中,查询看起来应该是这样的:

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