在Hibernate中删除表中所有行 的最佳方法是什么?
如果我遍历一个集合并称session.delete()其在我所知范围内没有执行。
session.delete()
如果使用其他选项session.createQuery("delete ..."),则不会影响持久性上下文。
session.createQuery("delete ...")
如果没有更好的选择,何时应该使用这些方法?
DELETE FROM enityName
问题出在以下事实:hibernate在内部处理级联,而不是将其留给数据库。因此,发送查询不会触发内部级联,因此您将遇到不一致/孤立的情况。
如果性能是如此关键(毕竟并不是每天都会将一个表删减),那么对于每个级联,您可以删除多个HQL-即手动处理级联。