在“Nhibernate in Action”一书中,他们建议如下:
“我们认为ORM不适合大规模更新(或大规模删除)操作。如果您有这样的用例,那么另一种策略几乎总是更好:调用数据库中的存储过程,或者为特定的用例使用直接的SQL更新和删除语句。”我担心对底层数据库的查询不会在缓存中反映出来(至少在缓存到期之前是这样),我想知道是否有人想出了任何有效的策略来混合和匹配NHibernate和自定义SQL语句?有什么方法可以让大容量更新语句
我尝试还原语句DELETE from table_name where id > 10000;。我使用的是MySQL 5.6服务器,我从pycahrm数据库客户端执行语句,大约2秒后在客户端点击停止,但我在show full processlist中看到查询在几分钟后仍处于状态更新中,所以我用kill删除了它,数据库是否被恢复,实际上没有数据被删除?我可以看到id是1000110002...但是我能百分之百确定所有数据都没有被删除吗?
我正在处理H2数据库,我遇到了这个问题--删除一个约束就可以了,我可以使用下面的语句对于添加一个约束也很好,我可以使用以下语句。order_id) references order (id) on delete cascade on update cascade;
但问题是,在customer表中,我有更多的外键,我想在一个查询语句中删除它们但是这在h2<