现有 task_info(有个term字段) user_info 两张表
我在页面中有个 选择term的页面
然后跳转到ACTION 我执行了 public List browsePersonalTask(UserInfo user,String term) 方法
就是 按user对象 和学期找到具体的一个教师列表返回。
部分代码: String hql ="from TaskInfo as a where a.tno=:tno";
if(term!=null||!"".equals(term)){
hql = "from TaskInfo as a where a.tno=:tno and a.term=:term";
}
Query query = session.createQuery(hql);
System.out.println(user.getTno());
query.setString("tno", user.getTno().trim());
query.setString("term", term);
tx = session.beginTransaction();
result = query.list();
if(!Hibernate.isInitialized(result)){
Hibernate.initialize(result);
}
tx.commit();后台报错
org.hibernate.QueryException: could not resolve property: tno of: com.ORM.TaskInfo [from com.ORM.TaskInfo as a where a.tno=:tno and a.term=:term]
是怎么回事?能否给指点指点
我在页面中有个 选择term的页面
然后跳转到ACTION 我执行了 public List browsePersonalTask(UserInfo user,String term) 方法
就是 按user对象 和学期找到具体的一个教师列表返回。
部分代码: String hql ="from TaskInfo as a where a.tno=:tno";
if(term!=null||!"".equals(term)){
hql = "from TaskInfo as a where a.tno=:tno and a.term=:term";
}
Query query = session.createQuery(hql);
System.out.println(user.getTno());
query.setString("tno", user.getTno().trim());
query.setString("term", term);
tx = session.beginTransaction();
result = query.list();
if(!Hibernate.isInitialized(result)){
Hibernate.initialize(result);
}
tx.commit();后台报错
org.hibernate.QueryException: could not resolve property: tno of: com.ORM.TaskInfo [from com.ORM.TaskInfo as a where a.tno=:tno and a.term=:term]
是怎么回事?能否给指点指点
还有你的query.setString("term", term)会出问题
String hql ="from TaskInfo as a where a.userInfo=:userInfo";
Query query = session.createQuery(hql);
query.setEntity("userInfo", user);
if(term!=null||!"".equals(term)){
hql = "from TaskInfo as a where a.userInfo=:userInfo and a.term=:term";
query.setString("term", term);
}
tx = session.beginTransaction();
result = query.list();
if(!Hibernate.isInitialized(result)){
Hibernate.initialize(result);
}
tx.commit();可是报错 :
java.lang.IllegalArgumentException: Parameter term does not exist as a named parameter in [from TaskInfo as a where a.userInfo=:userInfo]
不知道 怎么解决
Query query = session.createQuery(hql);
query.setEntity("userInfo", user);
if(term!=null||!"".equals(term)){
hql = "from TaskInfo as a where a.userInfo=:userInfo and a.term=:term";
query.setEntity("userInfo", user);
query.setString("term", term);
}tx = session.beginTransaction();
result = query.list();
if(!Hibernate.isInitialized(result)){
Hibernate.initialize(result);
}
tx.commit();
java.lang.IllegalArgumentException: Parameter term does not exist as a named parameter in [from TaskInfo as a where a.userInfo=:userInfo]
5楼的写法 还是报这个错误。
自己 不用心。
还是谢谢大家
Query query = null;
if(term==null||"".equals(term)){
String hql ="from TaskInfo as a where a.userInfo=:userInfo";
query = session.createQuery(hql);
query.setEntity("userInfo", user);
}
else
{
String hql = "from TaskInfo as a where a.userInfo=:userInfo and a.term=:term";
query = session.createQuery(hql);
query.setEntity("userInfo", user);
query.setString("term", term);
}
tx = session.beginTransaction();
result = query.list();
if(!Hibernate.isInitialized(result)){
Hibernate.initialize(result);
}
tx.commit();