问题描述
tbCompany的数据是comIdckId112233tbDepartmentdepId,comId112132tbCheckerckId123publicclassTbCompanyimplementsjava.io.Serializable{privateLongcomId;privateList<TbDepartment>tbDepartments;@OneToMany(mappedBy="tbCompany",fetch=FetchType.EAGER)publicList<TbDepartment>getTbDepartments(){returntbDepartments;}publicvoidsetTbDepartments(List<TbDepartment>tbDepartments){this.tbDepartments=tbDepartments;}privateTbCheckertbChecker;@OneToOne(fetch=FetchType.EAGER)@JoinColumn(name="ckId")publicTbCheckergetTbChecker(){returntbChecker;}publicvoidsetTbChecker(TbCheckertbChecker){this.tbChecker=tbChecker;}}
当我是用Criteriacriteria=getSession().createCriteria(TbCompany.class);returncriteria.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当我使用StringqueryString="fromTbCompany";returngetHibernateTemplate().find(queryString);查出来的数据是对comId:1,检查ID:1部门ID:1部门ID:2===========comId:2,检查ID:2部门ID:3===========comId:3,检查ID:3问题,怎么使用QBC查询会出现重复数据了,是我配置类的关系出错了还是什么原因呢。怎么HQL就无出现这个问题。我怎么才能使用QBC出现的结果也跟HQL的一样正确?
解决方案
解决方案二:
该回复于2010-12-10 13:19:22被版主删除
解决方案三:
这里没有人吗,大侠们
解决方案四:
该回复于2010-12-08 17:14:27被版主删除