Hibernate createCriteria返回错误的列表大小与HQL列表
在我的用户表中,我有两个用户 尝试使用HQL查询选择所有用户时,如下所示:Hibernate createCriteria返回错误的列表大小与HQL列表,hibernate,Hibernate,在我的用户表中,我有两个用户 尝试使用HQL查询选择所有用户时,如下所示: getCurrentSession().createQuery("From User").list(); getCurrentSession().createCriteria(User.class).list(); 它返回两个元素,即右侧 但使用createCriteria时,如下所示: getCurrentSession().createQuery("From User").list(); getCurrentS
getCurrentSession().createQuery("From User").list();
getCurrentSession().createCriteria(User.class).list();
它返回两个元素,即右侧
但使用createCriteria时,如下所示:
getCurrentSession().createQuery("From User").list();
getCurrentSession().createCriteria(User.class).list();
它返回36个元素(两个元素重复)
你知道为什么我在createCriteria中会有这样的行为吗,这与hibernate关系有关吗?因为在用户域中,我与角色域有多个关系,它与会话工厂、hibrenate版本或hibernate配置有关吗
关系:
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "user_role", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = { @JoinColumn(name = "role_id") })
private Set<Role> roles = new HashSet<Role>(0);
@ManyToMany(fetch=FetchType.EAGER)
@JoinTable(name=“user\u role”,joinColumns={@JoinColumn(name=“user\u id”)},inverseJoinColumns={@JoinColumn(name=“role\u id”)})
私有集角色=新哈希集(0);
我很困惑,请指教,谢谢 您与急切抓取有多对多关系。条件查询将转换为包含联接的SELECT,因此在结果中,每个用户都有许多行 要删除重复项,请将所有结果添加到哈希集,或使用DistincTrotentyResultTransformer