2

"SELECT pub FROM Publisher pub JOIN pub.magazines mag WHERE pub.revenue > 100"

我想知道我是否可以使用方法调用而不是pub.revenuepub.getRevenue()。这可能吗?因为收入变量可能被声明为私有的,不能直接访问。

4

1 回答 1

3

具有私有可见性的收入变量不会限制其在 JPQL 查询中的使用。无论可见性如何,您都可以使用它。所以你的例子应该有效。

通常,您不能从 JPQL 查询中调用方法。原因是 JPQL 查询转换为 SQL 查询,并且没有从 SQL 查询调用 Java 类的方法的概念。

于 2012-04-13T16:56:39.687 回答