java - Spring数据命名查询选择两列相等的实体

标签 java mysql spring jpa spring-data

我想选择 Authority.idAuthority.top 相等的所有 Authority。虽然以下方法无法产生所需的结果,但如何使用命名查询而不是 native 查询来实现它?

@Query("SELECT Authority WHERE Authority.id = Authority.top")  // how?
List<Authority> findTop();

最佳答案

或者:

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();

根据您的情况,选项之一当然是更好的

关于java - Spring数据命名查询选择两列相等的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45008039/

相关文章:

java - 找不到空指针异常

java - 如何接受 SOAP header 部分的 MustUnderstand 和其他属性?

php - 按降序从表中删除一个值 PHP(可能吗?)

php - MySQL 中的基本选择和删除 (PDO)

PHP 和 MySQL 工作台

java - 如何实现CacheLoader以便读取@Cacheable key

java - 写入可序列化对象时,ObjectOutputStream.writeObject()(在 socket.getOutputStream() 之上)会抛出损坏的管道(IO 异常)

java - Spring Hibernate,从下拉菜单中选择时更新 JSP View

java - 使用 Spring 框架获取 'Named query not found'

java - Maven 找不到我的自定义 Maven 原型(prototype)