📄 hibernate如何删除多条记录.txt
字号:
hibernate如何删除多条记录
javashhai18 (javashhai18) 2006-02-03 113452 在 Java 框架、开源 提问
hibernate如何删除多条记录
delete from table
问题点数:30、回复次数:10
1楼 skycncomp (闭关修练到年底) 回复于 2006-02-03 115512 得分 0
把所有的对象传递给hibernate
或者自己写sql或hql
Top
2楼 cenlmmx (学海无涯苦作舟) 回复于 2006-02-03 143144 得分 0
mark
Top
3楼 saisi (凯文) 回复于 2006-02-06 213740 得分 0
up
Top
4楼 yangyijieyyj (小猪) 回复于 2006-02-07 110926 得分 0
Person p = null;
Long[] id = actionForm.getid();
if(id != null)
{
for(int i = 0; iid.length ; i++)
{
p = new Person();
p = (Person)sess.load(Person.class,id[i]);
sess.delete(p);
}
}
不知还有没有更好的方法!
Top
5楼 ygx119 (sun) 回复于 2006-02-07 111425 得分 0
String hqlDelete = delete EaccountForm where serial_no_ecustomer = serial_no_ecustomer ;
int deletedEntities = session.createQuery( hqlDelete )
.setString( serial_no_ecustomer, serial_no_ecustomer )
.executeUpdate();
Top
6楼 yiyi0518 (世上的盐和光) 回复于 2006-02-08 155908 得分 0
楼上的比较好吧,像yangyijieyyj(小猪) 的方法太耗资源了,每删一个还得建一个实例。。。
Top
7楼 zeq258 (近朱者赤) 回复于 2006-02-08 163502 得分 0
这个是hibernate的批量删除问题,用hql 效率比较高,但是
这样却不能保证数据库的数据与hibernate缓存数据的一致性。
建议看看资料。
Top
8楼 liuyxit (我不是你的上帝...) 回复于 2006-02-10 005207 得分 0
hibernate3才可用hql的批量删除.
Top
9楼 xuancao (飞云) 回复于 2006-02-11 142551 得分 0
String hql = delete from class where field = 'value'
session.createQuery(hql).executeUpdate();
Top
10楼 liuyxit (我不是你的上帝...) 回复于 2006-02-15 150024 得分 0
以条件来区分的
String hql=delete from User where age 18 ;
session.createQuery(hql).executeUpdate();
多个ID的
String hql=delete form User where id in idd;
session.createQuery(hql).setParameterList(idd,idd_list).executeUpdate();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -