Java 如何在JPQL中使用in子句?

Java 如何在JPQL中使用in子句?,java,jpa,jpql,Java,Jpa,Jpql,我试过这个密码 Query q = em.createQuery("SELECT c FROM Category c where c.id in 1" ); 但我有这个错误 An exception occurred while creating a query in EntityManager: Exception Description: Syntax error parsing [SELECT c FROM Category c where c.id in 1].

我试过这个密码

   Query q = em.createQuery("SELECT c FROM Category c where c.id in 1" );
但我有这个错误

 An exception occurred while creating a query in EntityManager: 
    Exception Description: Syntax error parsing [SELECT c FROM Category c where c.id in 1]. 
    [31, 40] The expression is not a valid conditional expression.

有什么问题

见。它应该看起来像1中的c.id。

下面是文档中与JPQL兼容的in谓词示例

从付款p中选择p,其中在CreditCardPayment中键入p, 电汇支付

从客户c中选择c,其中c.hqAddress.state位于“TX”、“OK”中, “LA”,“NM”

从客户c中选择c,其中c.hqAddress.state位于

从客户c中选择c,其中c.hqAddress.state位于 选择dm.state 来自DeliveryMetadata-dm 其中dm.salesTax不为空

备选案文2。似乎你正在寻找什么,你可以试试下面的查询

从类别c中选择c,其中c.id在1中

但如果您给出的是常量单值,为什么不使用=呢