【发布时间】:2011-05-29 07:53:22
【问题描述】:
我一直在环顾四周,试图确定一些我不确定的 Hibernate 行为。在正确设置 Hibernate 批处理的情况下,它是否只会在发送批处理时使用多个插入语句?难道不能使用独立于DB的多插入语句吗?
我想我正在尝试确定我是否真的正确设置了批处理。我看到了多个插入语句,但随后我也看到了“执行批量大小:25”这一行。
我可以发布很多代码,但我试图保持一般性。所以,我的问题是:
1) 您可以从日志中读取什么来确定正在使用批处理?
2) 是否可以让 Hibernate 使用多行插入而不是多插入语句?
【问题讨论】:
-
我实际上会访问数据库以查看幕后发生的事情。 SqlServer 有一个分析器,它可以告诉你几乎所有的事情。使用 Oracle,您将需要访问 v$sql 对象。 link
-
我做到了,据我所知,它只使用过插入语句。我确实在某处读到过休眠日志具有误导性,但我认为这是因为该特定示例使用的是 MySQL,它有一个 rewriteBatchedStatements 选项可以完成工作(我使用的是 Oracle)。
标签: java oracle hibernate batch-file