通常、ユーザクラスを検索して、それにひも付く担当者を検索するには、
user = (User) session.load(User.class, user.getId()); Set customers = user.getCustomers(); Iterator e = customers.iterator(); while (e.hasNext()) { Customer element = (Customer) e.next(); logger.debug(element); }
とすればOKです。これに対して、ソート処理など更にクエリをかけるには以下のようにすればOKです。
user = (User) session.load(User.class, user.getId()); Query query = session.createFilter(user.getCustomers(), "order by this.name asc"); <-この条件を↑のセットに対して行う List list = query.list(); Iterator e = list.iterator(); while (e.hasNext()) { Customer element = (Customer) e.next(); logger.debug(element); }
これでthis.name(USER.NAME)でソートをかけることができます。
この記事は
現在のアクセス:6799