我正在使用以下查询从2个表中获取详细信息,然后将结果存储在列表中
Query selectEntry = em.createQuery("select b.affStyle,b.actualAffService " +
"from SdHeaders a, SdAffectedServices b " +
"where a.id = b.id AND a.sdClass = 'NET' AND b.actualAffService IS NOT NULL " +
"AND b.itemType = :itemType " +
"group by b.affStyle, b.actualAffService");
selectEntry.setParameter("itemType",ob.getItemType());
result=selectEntry.getResultList();
执行此操作时,出现以下错误,并且列表中也应填充2个值,但不是。
Subquery result[[Ljava.lang.Object;@2b4a90f0]
Result string[[Ljava.lang.Object;@2b4a90f0]
[Ljava.lang.Object;@2b4a90f0
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
当我在SQL Developer中运行查询时,它会给我正确的结果。有人可以帮忙吗?
答案 0 :(得分:0)
selectEntry.setParameter("itemType",ob.getItemType());
这可能是原因。数据库中的ob.getItemType()
数据类型和itemType
数据类型不匹配。您可以更正并重试吗?