Предположим, у меня есть список идентификаторов, связанных с сущностью, хранящейся в списке. Если я передам этот список в функцию, если я использую ключевое слово IN в JPQL, тогда я должен получить ту же функциональность, что и использование в языке запросов reqular, который я принимаю ...org.apache.openjpa.persistence.ArgumentException при выполнении запроса openJPA
Но я испытываю это исключение, когда я пытаюсь запускаю мой код ... Мой код выглядит следующим образом ...
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 - это на самом деле длинные ... которые могут вызвать небольшое варево-ха-ха!