Topic: session.delete的不能删除数据问题?

  Print this page

1.session.delete的不能删除数据问题? Copy to clipboard
Posted by: jsp168
Posted on: 2004-12-09 10:42

我今天碰到了
int a=session.delete("from Message as m where m.id=2");
System.out.println("处理了"+a);

运行后,在jb的messages中显示:
信息: starting query cache at region: net.sf.hibernate.cache.QueryCache

Hibernate: select message0_.MESSAGE_ID as MESSAGE_ID, message0_.TEXT as TEXT, message0_.NEXT_MESSAGE_ID as NEXT_MES3_ from Messages message0_ where (message0_.MESSAGE_ID=2 )

处理了0

我本意是让它删除id=2的数据 ,hibernate怎么显示出sql为select
请问是什么问题?
我的调试环境是(jbuilder x+ hibernate 2.12 +ms sql 2000+ jsql driver驱动)

2.Re:session.delete的不能删除数据问题? [Re: jsp168] Copy to clipboard
Posted by: getup
Posted on: 2005-01-18 09:32

首先,出现select语句是没有错的,因为hibernate中的操作都是针对PO对象的,它需要先从数据库中进行查询,返回符合条件的PO对象,再执行删除。Hibernate都是这样处理delete的。
至于为什么没有删除,我还不能确认。

3.Re:session.delete的不能删除数据问题? [Re: jsp168] Copy to clipboard
Posted by: LostParadise
Posted on: 2005-01-19 19:06

可能的原因:select 没有返回结果集,所以delete没有可以操作的行。检查上面的sql结果集是否为空

4.Re:session.delete的不能删除数据问题? [Re: jsp168] Copy to clipboard
Posted by: floater
Posted on: 2005-01-19 23:15

did you flush?


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923