在运行ssh项目中hibernate出现了一些这样的错误

这个是action中的445.publicStringselSize()throwsException{446.System.out.println(sizeid+"aa... 这个是action中的

445.public String selSize() throws Exception{
446. System.out.println(sizeid+"aaaaa");
447.
448.//得到存放goodsize的集合
449.List gcountList = gcountdao.findByProperty("goodsSize.GSizeId", sizeid);
450.System.out.println(gcountList.size()+"sizeid");
451.
452.List gList =new ArrayList();
453.for(int i=0; i<gcountList.size();i++){
454. gcount=(GoodsCount) gcountList.get(i);
455. int gid=gcount.getGoodsInfo().getGInfoId();
456. goodinfo = goodinfodao.findById(gid);
457. gList.add(goodinfo);
458. request.put("goodinfo", gList);
459.}
460.return "success";
461.}

下面是hibernate自动生成的dao文件
76.public List findByProperty(String propertyName, Object value) {
77. log.debug("finding GoodsCount instance with property: " + propertyName
78. + ", value: " + value);
79. try {
80. String queryString = "from GoodsCount as model where model."
81. + propertyName + "= ?";
82. System.out.println(queryString);
83. System.out.println(getHibernateTemplate().find(queryString, value)+"****************");
84. return getHibernateTemplate().find(queryString, value);
85. } catch (RuntimeException re) {
86. log.error("find by property name failed", re);
87. throw re;
88. }

action中的方法是通过sizeid来找对象goodsize,然后把对象通过gountdao文件中的findByProperty方法来得到一个list集合,通过for循环把里面的内容输出出来,(goodsize与gount是主外键关系)

现在的问题是,当findByProperty方法中的参数是对象goodsize,如果sizeid在gount表中存在大于1条数据时,findByProperty会出现错误,不能得到list集合无法输出size长度,而且转到的页面不能正常输入;当数据<=1条时,则可正常运行。

还有,我试了一下在gount有普通的属性(没有主外键关系的),无论多少条都可以正常的运行!

并且我也查看了一下配置文件什么的,因为都是自动生成的,我也没有改过什么!数据库用的是mysql,其中的主外键关系也正常,sql语句也能查到……

请各位高手帮帮忙,谢了!!!
这个是浏览器中报的错,请各位看下
展开
 我来答
s_s2_h
2010-09-01
知道答主
回答量:29
采纳率:0%
帮助的人:20.7万
展开全部
List gcountList = gcountdao.findByProperty("goodsSize.GSizeId", sizeid);错了。

String queryString = "from GoodsCount as model where model."+ propertyName + "= ?";

你确定你的实体类中有goodsSize.GSizeId这个属性?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式