在运行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语句也能查到……
请各位高手帮帮忙,谢了!!!
这个是浏览器中报的错,请各位看下 展开
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语句也能查到……
请各位高手帮帮忙,谢了!!!
这个是浏览器中报的错,请各位看下 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询