技术栈:Oracle 数据库 11.2.0.2、Java 1.6、Hibernate 3.6.6.Final。
我是休眠的新手,如果这是微不足道的,请道歉。
以下代码应该进行一些优化:
Transaction tx = session.beginTransaction();
for (int i = 0; i < 10; i++) {
POJO pojo = new POJO(i);
session.save(pojo);
}
tx.commit();
hibernate.cfg.xml
有以下条目
<property name="jdbc.batch_size">500</property>
我如何验证hibernate是否真的批量处理所有这些插入?如果它执行 10 次插入,则没有增益。save()
一种想法是在检查记录是否已添加到 db之后立即放置 jdbc 普通查询:
String query = "retrieve previously added element"
PreparedStatement stmt = session.connection().prepareStatement(query.toString());
Result rs = statement.executeQuery();
/** check contents of rs */
在我的情况下,它返回一个带有先前添加元素的非空集。这有什么意义吗?我还能如何检查批处理是否有效。
提前致谢