hibernate中一个可怕的问题
左潇龙
博客专家认证 2011-09-03 05:10:48 我的数据库只有三十多条数据,然而我的运行结果却是80多条,其中其实应该只有三个的,但差出来的list却有80多个元素,其中除了三个正确的以外,全是null值。
具体如下(get和set方法省略):
public class District {
private int districtId;
private String districtName;
private List<House> Houses = new ArrayList<House>();
}
public class House {
private long houseId;
private long userId;
private int typeId;
private String title;
private String description;
private double price;
private Date pubDate;
private double floorage;
private String contact;
private int districtId;
private int streetId;
private District district;
private Street street;
private Type type;
}
这是两个实体类,分别对应数据库两个表,house表和district表,house类的列比较多,其他的可以不关注,其中的districtId是二者的联系所在,house中的districtId字段是district表的外键。
然后我用session的get方法加载一个district对象,比如id为1,那么我获得这个District对象的houses属性,应该便是house表中,所有districtId这个字段为1的house信息对吧。
但是问题出来了,程序不报错,一切正常,就连show出来的sql语句我都看不出任何毛病,但是查出来的数据就是不对。
具体错误就如上所说,原本应该查出来三个就对了,结果house表一共才30多个数据,我一迭代,一下出来80多个,而且除了那正确的3个意外,全是null值,这是怎么回事。
求解!