次の基準を作成しようとしています。
public List<Domain> getDomains()
{
Session session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria( Domain.class );
User user = userManager.getLoggedInUser();
if ( user.getDomain().getVisibleDomains() != null && user.getDomain().getVisibleDomains().size() > 0 )
{
criteria.add( Restrictions.or( Restrictions.eq( /*here should be "THIS"*/, user.getDomain() ), Restrictions.in( /*here should be "THIS"*/, user.getDomain().getVisibleDomains() ) ) );
} else
{
criteria.add( Restrictions.eq( /*here should be "THIS"*/, user.getDomain() ) );
}
return criteria.list();
}
ご存知かもしれませんが、これはうまくいきません。基準が作成された「この」エンティティを指す基準APIに方法はありますか?
オブジェクト「ドメイン」をポイントし、休止状態で「ID」を比較する作業を実行するようにすると、自分ですべてを書き込む (ID のセットを作成して基準に入れる) 代わりに、作業がはるかに簡単になります。