我想选择Authority
和Authority.id
相等的所有Authority.top
s。虽然以下内容无法产生预期的结果,但如何使用命名查询但不是本地查询来实现它?
@Query("SELECT Authority WHERE Authority.id = Authority.top") // how?
List<Authority> findTop();
答案 0 :(得分:1)
或者:
1)没有别名:
@Query("FROM Authority WHERE id = top")
List<Authority> findTop();
2)使用别名:
@Query("SELECT a FROM Authority a WHERE a.id = a.top")
List<Authority> findTop();
在你的情况下,当然可以选择一个
答案 1 :(得分:0)
我认为查询在语法上是错误的。
必须是,
SELECT * FROM Authority WHERE Authority.id = Authority.top
或者您可以查询您感兴趣的列,
SELECT Authority.id, Authority.name FROM Authority WHERE Authority.id = Authority.top