14
私は2つのHibernateデータオブジェクトを持っています。最初はUser(一意のID、ユーザー名など)で、2番目はCollaborateableクラスです。この2つの間にはn対mの関係があります(Setsとのimplementet)。つまり、ユーザーは多くのコラボレーティブルで働き、コラボレートには多くのユーザーがいます。さらに、Collaborateableには所有者として1人のユーザーしかいません。Hibernateクエリ:セットに特定のオブジェクトが含まれていますか?
<class name="CollaborateableImpl" table="Collaborateable">
<id name="id" type="int" column="id">
<generator class="increment" />
</id>
<property name="name" column="name" type="string" not-null="true" />
<property name="keywords" column="keywords" type="string"/>
<!-- Collaborateable has a Registered User as owner -->
<many-to-one name="owner" class="UserImpl" fetch="select">
<column name="User_id_owner" not-null="true" />
</many-to-one>
<!-- Users that collaborate on this Collaborateable -->
<set name="users" table="CollaborateOn" inverse="false">
<key column="Collaborateable_id" />
<many-to-many column="User_id" class="UserImpl" />
</set>
私は所有者またはCollaborateable.usersセットで同じ特定のユーザーを含むなど、特定のユーザーを持っているCollaborateablesを検索Hibernateのクエリを、実装したいと思います。また、キーワードを確認するための単純なWHERE句も必要です。
HibernateにCONTAINS演算子のようなものがありますか?例えば
:
FROM CollaborateableImpl WHERE (owner = :user OR users CONTAINS :user) AND keywords like '%:searchString%'
そうでない場合は、あなたが参加して、この問題を解決する方法を知っていますか?
制限を使用する場合、制限の種類は何ですか? – jpprade