假设我有一个与存储在列表中的实体关联的 ID 列表。如果我在 JPQL 中使用 IN 关键字,则将此列表传递给函数,那么我应该获得与在我假设的常规查询语言中使用相同的功能......
但是每当我尝试运行我的代码时,我都会遇到这个异常......我的代码看起来像这样......
public void UpdateEntityByPerson(int ID, int[] EntityIDs) {
// TODO Auto-generated method stub
List<EntityList> distList = null;//new ArrayList<EntityList>();
try{
Provider prov = emf.find(Provider.class, new Long(ID));
prov.setDistListPermCollection(null);
distList = emf.createNamedQuery("getEntityListByListIds").setParameter("listIds", EntityIDs).getResultList();
prov.setEntityListPermCollection(distList);
}
catch(Exception ex){
System.out.println("Exception : "+ex);
ex.printStackTrace();
}
}
这是我的 JPQL 命名查询...
@NamedQuery(name="getEntityistByListIds", query = "SELECT d FROM EntityList d WHERE d.listId in :listIds"),
我在这里做错了什么?我想到的一件事是我有一个整数数组...... EntityID 实际上是长......这可能会导致轻微的 brew-ha-ha!