hibernate 中HQL语句写完之后查出来的每条数据都一样?
Queryquery=null;StringHQL;HQL="selectz,jfromZxrbz,JCodejwherez.jcode=j.jcodeandz.jcod...
Query query = null;
String HQL;
HQL = "select z,j from Zxrb z,JCode j where z.jcode = j.jcode and z.jcode=?";
query=super.getSession().createQuery(HQL);
query.setString(0, jCode);
List list = query.list();
Iterator itor = list.iterator();
while (itor.hasNext()) {
Object[] queryArray = (Object[])itor.next();
Zxrb zxrb = (Zxrb)queryArray[0];
JCode jcode = (JCode)queryArray[1];
System.out.println("dao create:"+zxrb.getCreatetime());
System.out.println("dao Content:"+zxrb.getContent());
System.out.println("dao jm:"+jcode.getJm());
}
打印出来后所有数据和第一条数据的内容一样
数据库中数据肯定没问题
在myeclipse调试中
query.list()结束的时候
list中的数据就已经是重复的了 展开
String HQL;
HQL = "select z,j from Zxrb z,JCode j where z.jcode = j.jcode and z.jcode=?";
query=super.getSession().createQuery(HQL);
query.setString(0, jCode);
List list = query.list();
Iterator itor = list.iterator();
while (itor.hasNext()) {
Object[] queryArray = (Object[])itor.next();
Zxrb zxrb = (Zxrb)queryArray[0];
JCode jcode = (JCode)queryArray[1];
System.out.println("dao create:"+zxrb.getCreatetime());
System.out.println("dao Content:"+zxrb.getContent());
System.out.println("dao jm:"+jcode.getJm());
}
打印出来后所有数据和第一条数据的内容一样
数据库中数据肯定没问题
在myeclipse调试中
query.list()结束的时候
list中的数据就已经是重复的了 展开
4个回答
展开全部
拿你的sql直接去库里查一下看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Iterator itor = list.iterator();这一行就不需要。直接循环你的list就行了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查查你的表内容,或者是iterator并没有按照要求执行遍历数据表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
虽然已经过去两年半了,但是我还是想问问你,最后有没有找到解决的办法啊,因为我也出现这个问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询