hibernate奇怪的查询问题,生成的sql能够查询出三条子表数据,但是主vo里的子表对象集只有一条

问题描述:

先看配置文件:
主表:
[code="java"]




[/code]
子表:
[code="java"]

[/code]
vo类:
[code="java"] public Set<?> getExPartPurchaseBillBs() {
return exPartPurchaseBillBs;
}

public void setExPartPurchaseBillBs(Set<ExPartPurchaseBillB> exPartPurchaseBillBs) {
    this.exPartPurchaseBillBs = exPartPurchaseBillBs;
    System.out.println(exPartPurchaseBillBs.size());
}[/code]

Hibernate生成的sql如下(查询子表的sql):
Hibernate: select expartpurc0_.source_bill_id as source3_1_, expartpurc0_.bill_id as bill1_1_, expartpurc0_.bill_id as bill1_246_0_, expartpurc0_.ts as ts246_0_, expartpurc0_.source_bill_id as source3_246_0_, expartpurc0_.part_id as part4_246_0_, expartpurc0_.part_no as part5_246_0_, expartpurc0_.part_name as part6_246_0_, expartpurc0_.part_unit_name as part7_246_0_, expartpurc0_.quantity as quantity246_0_, expartpurc0_.unit_price as unit9_246_0_, expartpurc0_.price as price246_0_, expartpurc0_.complete_quantity as complete11_246_0_, expartpurc0_.debt_quantity as debt12_246_0_, expartpurc0_.depot_id as depot13_246_0_, expartpurc0_.depot_name as depot14_246_0_, expartpurc0_.remark as remark246_0_, expartpurc0_.status as status246_0_ from emisdemothree.ex_part_purchase_bill_b expartpurc0_ where ( expartpurc0_.status!=0) and expartpurc0_.source_bill_id=?
到mysql中执行查找出三条数据
但是打印出的数据为1,真不晓得是因为啥子原因了,求解答!!!!

重写equals,hashcode函数