リストに格納されているエンティティに関連付けられた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"),
ここで何が間違っているのでしょうか?私が考えた1つのことは、整数の配列があるということです... EntityIDは実際には長いです...それはわずかなbrew-ha-haを引き起こしている可能性があります!