当前位置: 首页 > 知识库问答 >
问题:

参数类型为集合的openJPA

龚睿
2023-03-14

我能给出列表吗

我使用的数据库是MySQL的最新版本。我尝试处理的示例查询如下,并粘贴了我得到的错误。请让我知道我需要做什么才能让它工作。

Select * from table t where c in (?)
.createNativeQuery(TOPIC)
.setParameter(1, listNo)

其中listNoList

19:46:47376错误[org.jboss.ejb3.invocation](http--127.0.0.1-8080-6)JBAS014134:方法公共抽象com.zreflect.emyed.vo.circle.TopicVO[]com.zreflect.emyed.EJB.interfaces.ITopicService.getSelectedTopics(long,java.util.List,com.zreflect.emyed.vo.UserSession):javax.EJB.EJB例外:


共有1个答案

翟奇逸
2023-03-14

您没有指定代码段是JPQL还是原始SQL。还有另外两种构建查询的方法:NamedQueries或CriteriaBuilder。可能甚至更多。

我认为最简单的方法是使用JPQL查询。

String JPQL = "Select * from table t where c in (:value)"

ArrayList<Integer> myList = new ArrayList<Integer>();
myList.add(1);

您可以使用以下方法:

TypedQuery.setParameter("value",myList);

http://docs.oracle.com/javaee/6/api/javax/persistence/TypedQuery.html#setParameter(java.lang.字符串,java.lang.对象)

但是:列表总是需要至少有一项。我认为空列表将不起作用,或者生成错误的SQL语句。

塞巴斯蒂安

 类似资料:
  • 这可能是一个Java101问题。但是我已经离开java十年了,所以它对我来说是新的。 而且,changeFurColor()使用实现 的比较器对输入ArrayList进行排序,因此我需要在changeFurColor()方法中使用这个参数化类型。 我用changeFurColor(dogs)调用方法; 但是,这不会编译。类型 与类型 不匹配,尽管前者实现了后者。 伪代码: 更新changeFurC

  • Swift 提供了三种主要的集合类型,所谓的数组、合集还有字典,用来储存值的集合。数组是有序的值的集合。合集是唯一值的无序集合。字典是无序的键值对集合。 Swift 中的数组、合集和字典总是明确能储存的值的类型以及它们能储存的键。就是说你不会意外地插入一个错误类型的值到集合中去。它同样意味着你可以从集合当中取回确定类型的值。 注意 Swift 的数组、合集和字典是以泛型集合实现的。要了解更多关于泛

  • 本页包含内容: 数组(Arrays) 集合(Sets) 字典(Dictionaries) 集合的可变性(Mutability of Collections) Swift 语言提供经典的数组和字典两种集合类型来存储集合数据。数组用来按顺序存储相同类型的数据。字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对)。 Swift 语言里的数组和字典中存储的数据值类型必须明确。 这意

  • 问题内容: 如果我有一个通用类: 我想实例化几个项目,例如… …并将它们添加到集合中。如何定义集合,使其可以容纳泛型类型列表?然后,我想在某个时刻迭代集合,并使用Value属性。可能? 问题答案: 让您的泛型类从非泛型基类继承,或实现一个非泛型接口。然后,您可以拥有此类型的集合,并将其转换为用于访问集合内容的任何代码。 这是一个例子。

  • 问题总结:我想传递一个带有类型参数(如

  • 问题内容: 在解决了之前的问题的基础上,但又导致了另一个问题。如果协议/类类型存储在集合中,则取回并实例化它们会引发错误。下面是一个假设的例子。该范例基于“程序到接口而不是实现”,“程序到接口” 编辑 -我当前的解决方法是遍历集合,但是由于api必须知道各种实现,所以这当然是有限的。另一个限制是这些类型的子类(例如PersianCat,GermanShepherd)将不会调用其重写的函数,否则我将