以下のSQLクエリをHQLクエリに変換する必要があります。
select * from table where(column1、column2、column3)in(('A'、'B'、'C')、('D'、'E'、'F'));
以下のSQLクエリをHQLクエリに変換する必要があります。
select * from table where(column1、column2、column3)in(('A'、'B'、'C')、('D'、'E'、'F'));
以下のコードは、IN句にIDが含まれている場合は完全に機能しますが、非キー列または部分キー列にIN句を設定する必要がある場合は機能しません。
List ids = new ArrayList<SomeEntityId>(2);
ids.add( new SomeEntityId(1,12) );
ids.add( new SomeEntityId(10,23) );
ids.add( new SomeEntityId(10,22) );
Query query=s.createQuery( "from SomeEntity e where e.id in (:idList)" );
query.setParameterList( "idList", ids );
List list=query.list();
しかし、HQLを「fromSomeEntity e where(column1、column2)in(:idList)」として作成すると、機能しません。