に、私は次のようになりますHibernateマッピングを持っています。このことを考えるとHibernateの基準が含まれているイン関連の表
<class name="MyEntity">
<set name="scalarSet" table="(select fk, scalar_value from other_table)">
<key column="fk"/>
<property column="scalar_value" type="long"/>
</set>
</class
、私は、このようなMyEntity.scalarSetの値はそのクエリんか(ありますセット)は別のコレクションにあります。私もRestriction.sqlRestriction(..)を試してみた
criteria.add(Restrictions.in("scalarSet", targetList));
[編集] :よう
何か。私が使用したSQLクエリは次のようなものです:
"1 == (select fk, scalar_value from other_table where fk = {alias}.id and scalar_value in ({expanding?})"
そのうち「{?拡大}」カンマで区切られた疑問符(targetList.sizeに応じて())に置き換えられます。
しかし、私はちょうど取得しています
によって引き起こさ:org.hibernate.MappingException:あなたのセットは、コレクションではなく、団体である
ありがとう、ハイバーネーションのソースをハックした後、これは私がやったことです:-) –