Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以通过一个未映射到数据库列的函数在EJBQL中进行排序吗?_Java_Jpa_Ejbql - Fatal编程技术网

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)