【问题标题】:Better way of querying NOTIN in Spring Data JPA在 Spring Data JPA 中查询 NOTIN 的更好方法
【发布时间】:2020-07-13 19:58:15
【问题描述】:

使用 Spring Data JPA,我使用下面的 jpa 查询(它工作得很好)来查询除登录者之外的所有用户(以获取对等列表)。

appUserRepository.findByUsernameNotIn(new ArrayList<String>(Arrays.asList(getPrincipal()))).toString()

由于 NotIn 只接受收藏,而且我只需要过滤掉一个名字,因此我使用了这种看起来很“笨拙”的语句。

问题:有没有更好(短)的方法来实现这一点?意思是,从用户表中获取所有用户名,除了登录用户?任何线索/帮助将不胜感激。

【问题讨论】:

    标签: java spring spring-data-jpa spring-data


    【解决方案1】:

    你可以使用findByUsernameNot(getPrincipal())

    这将创建如下查询:

    … where x.username <> ?1
    

    您也可以查看documentation了解更多信息

    【讨论】:

    • 甜蜜!链接上的大量信息和很好的答案(如预期的那样-短一个)。从来不知道“Not”,只听说过“NotIn”。非常感谢。
    猜你喜欢
    • 2021-03-16
    • 2022-01-23
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 2018-01-13
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多