tbCompany的数据是
comId  ckId
1 1
2 2
3 3tbDepartment
depId,comId
1 1
2 1
3 2tbChecker
ckId 
1
2
3
public class TbCompany implements java.io.Serializable { private Long comId; private List<TbDepartment> tbDepartments;
@OneToMany(mappedBy="tbCompany",fetch=FetchType.EAGER)
public List<TbDepartment> getTbDepartments() {
return tbDepartments;
}
public void setTbDepartments(List<TbDepartment> tbDepartments) {
this.tbDepartments = tbDepartments;
}
private TbChecker tbChecker;
@OneToOne(fetch=FetchType.EAGER)
@JoinColumn(name="ckId")
public TbChecker getTbChecker() {
return tbChecker;
}
public void setTbChecker(TbChecker tbChecker) {
this.tbChecker = tbChecker;
}
} 当我是用
Criteria criteria=getSession().createCriteria(TbCompany.class);
return criteria.list();
查出来的数据是重复了第一个数据的
comId:1,检查ID:1
部门ID:1
部门ID:2
===========
comId:1,检查ID:1
部门ID:1
部门ID:2
===========
comId:2,检查ID:2
部门ID:3
===========
comId:3,检查ID:3当我使用
String queryString = "from TbCompany";
return getHibernateTemplate().find(queryString);
查出来的数据是对
comId:1,检查ID:1
部门ID:1
部门ID:2
===========
comId:2,检查ID:2
部门ID:3
===========
comId:3,检查ID:3问题,怎么使用QBC查询会出现重复数据了,是我配置类的关系出错了还是什么原因呢。
怎么HQL就无出现这个问题。 我怎么才能使用QBC出现的结果也跟HQL的一样正确?