在这段代码中,我使用 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
}
});
一个用户可以有一个或多个组,所以通常情况下,在我会拥有的额外数据中
String [] extraData = {groups};
在我的 DAO 中,我像这样获取用户
Criteria c = session.createCriteria(User.class);
c.add(Restrictions.eq("user", username));
c.add(Restrictions.eq("password", password));
utilisateur = (Utilisateur) c.uniqueResult();
并且在 User 模型中,组集合设置为惰性
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "users")
public List<Group> getGroups() {
return this.groups;
}
但是,在 Hibernate Log 中,我看到两个查询,一个用于用户(没关系),另一个用于 groupe
我的问题是:with
在 RequestFactory 中覆盖 Hibernate 的延迟加载是否正常?以及如何解决它?