Hibernate RequestFactory在集合';s在冬眠时设置为懒惰

Hibernate RequestFactory在集合';s在冬眠时设置为懒惰,hibernate,gwt,lazy-loading,requestfactory,Hibernate,Gwt,Lazy Loading,Requestfactory,在这段代码中,我使用GWT RequestFactory通过用户名和密码获取用户 userContextProvider.get().getUser(userName, password).with(extraData). fire(new Receiver<User>() { @Override public void onSuccess (User user) { //Do something @Ov

在这段代码中,我使用GWT RequestFactory通过用户名和密码获取用户

  userContextProvider.get().getUser(userName, password).with(extraData).
    fire(new Receiver<User>() {
        @Override
        public void onSuccess (User user) {
        //Do something  
        @Override
        public void onFailure(ServerFailure error) {
          //Error
        }
    });
在我的DAO中,我像这样获取用户

   Criteria c = session.createCriteria(User.class);
   c.add(Restrictions.eq("user", username));
   c.add(Restrictions.eq("password", password));            
   utilisateur =  (Utilisateur) c.uniqueResult();
在用户模型中,组集合设置为lazy

@ManyToMany(fetch = FetchType.LAZY, mappedBy = "users")
    public List<Group> getGroups() {
        return this.groups;
    }
@ManyToMany(fetch=FetchType.LAZY,mappedBy=“users”)
公共列表getGroups(){
返回此项。分组;
}
但是,在Hibernate日志中,我看到了两个查询,一个用于用户(这没问题),另一个用于组


我的问题是:在RequestFactory中使用
覆盖Hibernate的延迟加载是否正常?以及如何解决这个问题?

思考一下发生了什么

您在一个请求中请求一个用户实体及其组。因此,服务器准备用户和组将其发送回GWT客户端应用程序

如果您希望在客户端进行延迟抓取,则请求用户,然后在需要时请求其组,作为单独的请求(使用其单独的
RequestContext
实例,
Receiver
,并调用
fire()

@ManyToMany(fetch = FetchType.LAZY, mappedBy = "users")
    public List<Group> getGroups() {
        return this.groups;
    }