如何在加载多方数据时同时加载一方数据
banq老师您好:
我目前正在学习SSH,学hibernate时,做的宠物事例中,有宠物信息表petInfo,宠物日记Diary,宠物类别petType,其中,petInfo和Diary存在一对多,petType和petInfo也存在一对多关系,当我在得出宠物列表时,却不能得到petType
代码如下:
实体类
Diary中的字段为:
private Integer diaryId;
private PetInfo petInfo=new PetInfo();
private Date diaryDate;
private String diaryTitle;
private String diaryWeather;
private String diaryContext;
private String diaryIsPublic;
private Date diaryLastModify;
private String diaryAuthor;
private String diaryAuthorEmail;
petInfo中的字段为:
private Integer petId;
private PetType petType;
private String petName;
private String petSex;
private Integer petStrength;
private Integer petCute;
private Integer petLove;
private String petIntro;
private String petOwnerName;
private String petOwnerEmail;
private String petPassword;
private String petPic;
private List diaries = new ArrayList();
petType中的字段为:
private Integer petTypeId;
private String petType;
private List petInfos = new ArrayList();
调 用PetInfoDispatchAction显示宠物列表时,在页面上要显示petType中的petType(宠物类别)
但当我用session.createCriteria(class).add(Example.create(object)).list()得到列表后
却发现其中的petType是空的,导致出错
我有页面是用petInfo.petType.petType来得到宠物类别显示,报错说找不到,而且显示session was closed
加上lazy="false"也没办法,不知道是什么原因?
我的hibernate为3.0版本.