次のようにモデル化された User エンティティがあります
@Entity
class User {
@ManyToMany
@JoinTable(name="user_roles",
joinColumns=@JoinColumn(
name="user_id", referencedColumnName="id"),
inverseJoinColumns=@JoinColumn(
name="role_id", referencedColumnName="id")
)
public Set<Role> getRoles() {
return roles;
}
}
このユーザー固有の役割をページ分割されたビューで一覧表示したいと考えています。他のクラスでは、このように HibernateTemplate を使用しています
public PagedBean<User> findUsers(inal Status status, final PageParameters pageParameters) {
return (PagedBean<User>) hibernateTemplate.execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria crit = getUserByStatusCriteria(status, session);
crit.addOrder(Order.asc("id"));
Criteria critWithoutOrder = getUserByStatusCriteria(status, session);
PagedResultBean<RssFeedSource> pagedResultBean = new PagedBean<User>(pageParameters);
return populateFromCriteria(crit, critWithoutOrder, pagedBean);
}
private Criteria getUserByStatusCriteria(final Status status, Session session) {
Criteria c = session.createCriteria(User.class);
c.add(Restrictions.eq("status", status));
return c;
}});
}
エンティティではない「user_roles」に対して上記と同じ方法でこのページ分割された結果を達成するにはどうすればよいですか?