【问题标题】:Issue when trying to use the IN operator in a JPQL query尝试在 JPQL 查询中使用 IN 运算符时出现问题
【发布时间】:2015-12-14 10:00:51
【问题描述】:

以下查询:

SELECT P FROM Project P WHERE :currentUser IN(P.assignedUsers)

抛出以下错误:

org.h2.jdbc.JdbcSQLException: SQL 语句中的语法错误:“....”; 预期“不,存在,相交,选择,从”;

我使用 IN 运算符是错误的,还是我应该使用不同的方法。

Project.assignedUsers :是一个包含用户的列表(单对多关系)。 并且 currentUser 参数是一个有效的用户。

【问题讨论】:

    标签: hibernate spring-data jpql


    【解决方案1】:

    您不能为此目的使用隐式连接;您可能想使用member of 运算符:

    SELECT P FROM Project P WHERE :currentUser MEMBER OF P.assignedUsers
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-26
      • 2020-11-06
      • 2015-08-11
      • 2016-04-09
      • 2020-01-02
      • 1970-01-01
      相关资源
      最近更新 更多