【问题标题】:How to add parameters to IN clause in spring data repository native query如何在spring数据存储库本机查询中向IN子句添加参数
【发布时间】:2018-10-08 07:18:37
【问题描述】:

各位,

我在寻找通过 Spring 数据存储库在本机查询中为 IN 子句发送参数的方法时遇到问题。我尝试发送字符串列表,连接 和格式化的字符串......没有任何帮助

【问题讨论】:

标签: sql spring-data spring-data-jpa nativequery


【解决方案1】:

解决办法如下:

    @Repository
public interface Repo extends PagingAndSortingRepository<Log, Long>
{
    @Query(value = QUERY, nativeQuery = true)
    List<OrderExecutionLog> findTop1OrderByInitiatedAsc(String[] types);

    String QUERY = "SELECT log.* " +
            "FROM log" +
            "WHERE `type` IN (?3) ";
}

我尝试了使用列表或连接字符串等的几种变体......但是一个简单的数组给了我想要的结果。我认为Spring社区需要看看我遇到的这个简单的问题。

祝你好运。希望这可以帮助像我这样的人:)

【讨论】:

    【解决方案2】:

    如果您有要作为 IN 子句参数传递的字符串列表,请参阅下文

    @Query(value="SELECT * FROM SOME_TABLE WHERE COLUMN_SOME_NAME IN :someList", nativeQuery = true)
    List<T> getList(List<String> someList);
    

    【讨论】:

    • 您能否编辑您的答案以包含解释?
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2021-11-11
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    相关资源
    最近更新 更多