【问题标题】:Spring CRUD Repository Statement with Multiple Distinct Columns and Seperate Filter具有多个不同列和单独过滤器的 Spring CRUDRepository 语句
【发布时间】:2016-09-26 12:47:36
【问题描述】:

我正在尝试使用 Spring CRUD 存储库语法重现以下 SELECT:

select distinct column_1, column_2 from TABLE  where column_3 = 1

我尝试了以下方法,但没有成功:

返回所有匹配 value 的记录 - Distinct 被忽略

findDistinctColumn_1Column_2FromTableByColumn_3(Integer value)

返回所有匹配 value 的记录 - Distinct 被忽略

findDistinctTableColumn_1Column_2ByColumn_3(Integer value)

无法编译,因为我只想过滤 Column_3

findDistinctTableByColumn_1AndColumn_2AndColumn_3(Integer value)

应如何构造 Spring CRUD 存储库以返回与 SQL 等效项相同的值?

【问题讨论】:

  • 还没有找到问题的解决方法,但是我找到了问题的解决方法,看我的回答

标签: spring select repository spring-data crud


【解决方案1】:

似乎 Distinct 关键字被忽略了。相反,这可以使用 @Query 注释并指定 JPQL 来完成,例如:

@Query(value = "SELECT DISTINCT p.column_1, p.column_2 from Table p where p.column_3 = ?1")
public String[] findDistinctColumn_1Column_2FromTableByColumn_3(Integer value);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    相关资源
    最近更新 更多