Java 我可以通过一个未映射到数据库列的函数在EJBQL中进行排序吗?
我想通过使用类属性的函数对查询进行排序。比如:Java 我可以通过一个未映射到数据库列的函数在EJBQL中进行排序吗?,java,jpa,ejbql,Java,Jpa,Ejbql,我想通过使用类属性的函数对查询进行排序。比如: @entity class A { private int id; private String name; public int StringLength() { return name.length(); } } 这句话类似于:按名称从订单中选择n.StringLength()。可能吗?不可以,但是如果要根据某个属性的长度进行查询,可以使用类似于SQL的长度函数: select n from A order by length(name)
@entity
class A
{
private int id;
private String name;
public int StringLength()
{
return name.length();
}
}
这句话类似于:
按名称从订单中选择n.StringLength()
。可能吗?不可以,但是如果要根据某个属性的长度进行查询,可以使用类似于SQL的长度函数:
select n from A order by length(name)
不可以,但如果要基于某个属性的长度进行查询,可以使用类似于SQL的长度函数:
select n from A order by length(name)
David的回答是正确的-您不能调用该函数-但在EJBQL中,查询应该如下所示:
select n from A n order by length(n.name)
David的回答是正确的-您不能调用该函数-但在EJBQL中,查询应该如下所示:
select n from A n order by length(n.name)