当前位置: 代码迷 >> Java Web开发 >> getHibernateTemplate()的查询问题(已解决)
  详细解决方案

getHibernateTemplate()的查询问题(已解决)

热度:1048   发布时间:2007-12-28 15:53:43.0
getHibernateTemplate()的查询问题(已解决)
我想根据username来查询纪录,然后删除:
public void delete(String username) {
        String QueryUserByUsername = "from User u where u.username=:"+username;
        List list = getHibernateTemplate().find(QueryUserByUsername);
        User user = (User)list.get(0);
        getHibernateTemplate().delete(user);
    }
User有以下属性:id,username,age,address,job
但是总报错:
EVERE: Servlet.service() for servlet action threw exception
org.springframework.orm.hibernate3.HibernateQueryException: Not all named parameters have been set: [Bob] [from User u where u.username=:Bob]; nested exception is org.hibernate.QueryException: Not all named parameters have been set: [Bob] [from User u where u.username=:Bob]
org.hibernate.QueryException: Not all named parameters have been set: [Bob] [from User u where u.username=:Bob]
可能是我的hql语句不对。请问应该怎么写才能正常查询啊?谢谢~~~

[[italic] 本帖最后由 hwoarangzk 于 2007-12-28 16:14 编辑 [/italic]]
搜索更多相关主题的帖子: username  User  delete  String  list  

----------------解决方案--------------------------------------------------------
String QueryUserByUsername = "from User u where u.username=?";
List list = getHibernateTemplate().find(QueryUserByUsername, username);
果然是没写对,改成这样就可以了
----------------解决方案--------------------------------------------------------
getHibernateTemplate().是干什么用的
一般我都这样写
Criteria c = session.Create....;
......
c.add(Restrictions.eq("property",xxx));
c.list();

lz这个写法getHibernateTemplate().也是个常用的api么?
----------------解决方案--------------------------------------------------------
getHibernateTemplate().好像是hibernate自动启动一个事务,但是这样如果多线程调用会启动多个事务么?
还有,lz是find,就是不涉及db更新,为什么要启动一个事务呢,请lz不吝赐教。

哦,忘记lz要delete了。。

[[italic] 本帖最后由 黄袖标 于 2007-12-29 16:06 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
getHibernateTemplate()是spring里面一个HibernateDaoSupport的方法,返回一个HibernateTemplate,可以调用一些操作数据库的方法,启动事务这些都是配好了的,不用管的
----------------解决方案--------------------------------------------------------
了解了。
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
  相关解决方案