fei*_*oox 33 java hibernate sql-delete
在Hibernate中删除表中所有行的最佳方法是什么?
如果我迭代一个集合并称session.delete()它不符合我的知识.
如果我使用其他选项session.createQuery("delete ..."),则不会影响持久性上下文.
如果没有更好的变体,我应该使用这些方法吗?
Dam*_*ash 24
您可以将HQL用于truncate table
public int hqlTruncate(String myTable){
String hql = String.format("delete from %s",myTable);
Query query = session.createQuery(hql)
return query.executeUpdate();
}
Run Code Online (Sandbox Code Playgroud)
Boz*_*zho 24
DELETE FROM enityName问题在于hibernate在内部处理级联,而不是将其留给数据库.因此发送查询不会触发内部级联,因此您将有不一致/孤儿.
如果性能如此重要(毕竟不是每天都会截断一个表),那么每个级联可以有多个HQL删除 - 即手动处理级联.
String stringQuery = "DELETE FROM tablename";
Query query = session.createQuery(stringQuery);
query.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51263 次 |
| 最近记录: |