在 EJB 查询 IN 子句中绑定变量

Posted

技术标签:

【中文标题】在 EJB 查询 IN 子句中绑定变量【英文标题】:binding variables in an EJB query IN clause 【发布时间】:2012-10-31 18:28:06 【问题描述】:

是否可以像这样在 EJB IN 子句中绑定列表?

Query query = myEntitymanager.createNativeQuery("SELECT e FROM EntityName e WHERE e.id IN (:ids)");
//ids is a List of Long
query.setParameter("ids", ids);
result = query.getResultSet();

【问题讨论】:

您为什么不尝试一下并在出现问题时发布问题。类似的,可以参考***.com/a/4644668/366964 【参考方案1】:

IN 子句在 JQPL 中有效,这里 http://docs.oracle.com/javaee/6/tutorial/doc/bnbuf.html#bnbvf 您可以在 javaee 6 规范中阅读它。 但是你想做什么? 在您的示例中,您正在构建本机查询,因此 IN 子句支持和行为取决于您使用的 jdbc 驱动程序。

【讨论】:

以上是关于在 EJB 查询 IN 子句中绑定变量的主要内容,如果未能解决你的问题,请参考以下文章

教义,子查询,无效参数号:绑定变量的数量与标记的数量不匹配

SQLDeveloper支持绑定变量的IN条件

可以将绑定变量连接到动态 SQL WHERE 子句以添加 AND 语句吗?

Oracle“ORA-01008:并非所有变量都绑定”错误带参数

如何在使用变量的动态查询中指定 IN 子句?

我应该一直绑定变量吗?