0

次のようにモデル化された 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」に対して上記と同じ方法でこのページ分割された結果を達成するにはどうすればよいですか?

4

1 に答える 1