我想检查用户是否存在:
hql语句让如下:
String hql="from UserBean where name=? and password=?";
int b=session.createQuery(hql).setParameter(0,user.getName())
.setParameter(1,user.getPassword())
.executeUpdate();
org.hibernate.hql.ast.QueryTranslatorImpl.errorIfSelect(QueryTranslatorImpl.java:301)
org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:418)
org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:283)
org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1168)
org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:117)
com.chengge.dao.impl.UserDaoImpl.checkUser(UserDaoImpl.java:36)
com.chengge.service.impl.UserServiceImpl.checkUser(UserServiceImpl.java:24)
com.chengge.action.UserAction.login(UserAction.java:25)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
不过报错了。还有我想知道如果用户存在,b的值会是多少?是1吗?
hql语句中有没只返回一行数据的语句的(list()方法和iterator()方法是返回集合的)?
hql语句让如下:
String hql="from UserBean where name=? and password=?";
int b=session.createQuery(hql).setParameter(0,user.getName())
.setParameter(1,user.getPassword())
.executeUpdate();
org.hibernate.hql.ast.QueryTranslatorImpl.errorIfSelect(QueryTranslatorImpl.java:301)
org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:418)
org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:283)
org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1168)
org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:117)
com.chengge.dao.impl.UserDaoImpl.checkUser(UserDaoImpl.java:36)
com.chengge.service.impl.UserServiceImpl.checkUser(UserServiceImpl.java:24)
com.chengge.action.UserAction.login(UserAction.java:25)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
不过报错了。还有我想知道如果用户存在,b的值会是多少?是1吗?
hql语句中有没只返回一行数据的语句的(list()方法和iterator()方法是返回集合的)?
解决方案 »
- hibernate添加JNDI问题
- Spring2.5 的testContext也不支持Hibernate 的lazy吗??
- Struts 循环生成select
- 关于Dynamic Proxy 在 Java RMI 中的应用的疑问
- [请教]这个函数怎么用easymock测试?
- 请问如何用C#调用JAVA Web Service(急,在线等,高手帮忙)
- 求: eclipse 使用问题
- 刚接触J2EE,EJB里面的Bean是个什么概念啊?比如实体Bean和会话Bean什么的。
- 新手求助:Server Tomcat v8.0 Server at localhost failed to start.
- Mybatis延迟加载嵌套查询问题
- 极品问题,跪求高手
- .net ? .net? 求解!
怎么能用executeUpdate()呢要用.list();
List list =session.createQuery(hql).setParameter(0,user.getName())
.setParameter(1,user.getPassword())
.list();判断list的长度是不是>0
那在hql中这个executeUpdate()有什么用?
第一:先解决问题
第二:问题解决了,停下来针对这一个问题是看HIBERNATE源代码,看API
String hql="from UserBean where name=? and password=?";Query query = session.createQuery(hql);query.setString (0,user.getName());query.setString(1,user.getPassword()) ;List list = query.list();if(list.size()>0){
reutrn list.get(0);
}