gpt4 book ai didi

java - OpenJPA native 查询如何将 IN 运算符与列表一起使用

转载 作者:行者123 更新时间:2023-12-01 15:16:24 25 4
gpt4 key购买 nike

我在 WebSphere Application Server 上使用 OpenJPA 2.1 和 MySQL 5 DB。

我有一个日期列表,希望使用 IN 运算符仅从 DB 中获取条目,其中 DB 中的日期也在列表中。

List<Date> dates = new LinkedList<Date>();
dates.add(somedates);

我的查询如下所示:

  List<Object> list = em
.createNativeQuery(
"SELECT w.date FROM week_table w WHERE w.date IN ?1")
.setParameter(1, dates).getResultList();

但是我收到一个 ArgumentException:org.apache.openjpa.persistence.argumentexception 指定的参数类型不是有效的查询参数

Exception in thread "main" <openjpa-2.1.1-SNAPSHOT-r422266:1141200 nonfatal user error> org.apache.openjpa.persistence.ArgumentException:org.apache.openjpa.persistence.argumentexception the specified parameter of type "class java.util.LinkedList" is not a valid query parameter.
at org.apache.openjpa.jdbc.sql.DBDictionary.setUnknown(DBDictionary.java:1426)
at org.apache.openjpa.jdbc.kernel.SQLStoreQuery$SQLExecutor.executeQuery(SQLStoreQuery.java:218)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1005)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:863)
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:794)
at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542)
at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:315)
at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:331)

那么如何将列表或列表值传递到我的查询中?

致以诚挚的问候投票

最佳答案

尝试使用 JPQL(非 native )查询?

关于java - OpenJPA native 查询如何将 IN 运算符与列表一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11538149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com