從我的數據庫中檢索數據的問題我試圖從我的數據庫(使用JPA)檢索給定項目列表的名稱,其ID爲 我的函數由我的addFunction調用,只返回最後一個ID項目,並忽略其餘的!從我的數據庫使用JPA
public ArrayList<Integer> getListidItemByItemName()
{
try{
EntityTransaction entityTrans=emm.getTransaction();
entityTrans.begin();
for (String val : listItem)
{
System.out.println("my values"+val);
javax.persistence.Query multipleSelect= em.createQuery("SELECT i.ItemId FROM Item i WHERE i.ItemName IN (:w)");
multipleSelect.setParameter("w", val);
List ItemId = new LinkedList();
ItemId= multipleSelect.getResultList();
listIdItem = new ArrayList(ItemId);
}
entityTrans.commit();
System.out.println("Id for given item name"+listIdItem);
return listIdItem;
}
catch(Exception e)
{
e.printStackTrace();
}
結果:
INFO: my valuesResponse Time
INFO: my valuesAssigned Group Response Time
INFO: Id for given item name[7] //the id of the last item in the list
return listIdItem;
}
問題出在哪裏?
更新: 我用墊的解決方案,它工作得很好
謝謝
,我試過了你的建議,並且存在相同的問題 – rym
在循環內移動打印以查看你是否確實獲得了多個id(在每次迭代時打印ItemId列表)。 – Mat
@ Mat,是的,當我在循環內打印項目時,我知道該函數可以正常工作,但在其他函數中的問題將這些項添加到數據庫中! – rym