| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 2064 人关注过本帖
标题:getHibernateTemplate()的查询问题(已解决)
收藏  订阅  推荐  打印 
hwoarangzk
Rank: 12Rank: 12Rank: 12
来自:冰封王座
等级:贵宾
威望:12
帖子:1890
积分:20518
注册:2007-7-17
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  
2007-12-28 15:53
hwoarangzk
Rank: 12Rank: 12Rank: 12
来自:冰封王座
等级:贵宾
威望:12
帖子:1890
积分:20518
注册:2007-7-17

String QueryUserByUsername = "from User u where u.username=?";
List list = getHibernateTemplate().find(QueryUserByUsername, username);
果然是没写对,改成这样就可以了

I'm here, as always...
2007-12-28 16:13
黄袖标
Rank: 4
等级:高级会员
威望:5
帖子:558
积分:5762
注册:2007-3-22

getHibernateTemplate().是干什么用的
一般我都这样写
Criteria c = session.Create....;
......
c.add(Restrictions.eq("property",xxx));
c.list();

lz这个写法getHibernateTemplate().也是个常用的api么?

最近装修房子,告别一段时间。(灌水除外)
2007-12-29 10:06
黄袖标
Rank: 4
等级:高级会员
威望:5
帖子:558
积分:5762
注册:2007-3-22

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

哦,忘记lz要delete了。。

[[italic] 本帖最后由 黄袖标 于 2007-12-29 16:06 编辑 [/italic]]

最近装修房子,告别一段时间。(灌水除外)
2007-12-29 10:14
hwoarangzk
Rank: 12Rank: 12Rank: 12
来自:冰封王座
等级:贵宾
威望:12
帖子:1890
积分:20518
注册:2007-7-17

getHibernateTemplate()是spring里面一个HibernateDaoSupport的方法,返回一个HibernateTemplate,可以调用一些操作数据库的方法,启动事务这些都是配好了的,不用管的

I'm here, as always...
2008-1-2 09:49
黄袖标
Rank: 4
等级:高级会员
威望:5
帖子:558
积分:5762
注册:2007-3-22

了解了。

最近装修房子,告别一段时间。(灌水除外)
2008-1-3 09:13
b2831196
Rank: 2
等级:注册会员
帖子:52
积分:620
注册:2008-1-3


http://www.xiandai.q88d.net

平时就是喜欢购物
2008-1-3 22:22
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.061187 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved