Hibernate批量插入,批量更新

时间:2012-01-23 14:04:07

标签: spring oracle hibernate jdbc spring-batch

我有dao基本上使用hibernate将记录插入到表中,这个dao用@Transactional标注propogation-NESTED标记,我有服务生成其他东西,然后调用我的dao。我的服务也使用@Transactional propagation-REQUIRED注释。

我在循环中调用服务。我的dao上的插件是批量还是逐个工作?我如何确定它们是批量工作的? hibernateTransaction管理器是否管理批量插入?

我正在使用Oracle DB。

4 个答案:

答案 0 :(得分:1)

我设置了以下属性并且我的表现增加了;

hibernate.jdbc.batch_size=50

答案 1 :(得分:0)

我不是Hibernate专家,但我记得添加一个属性来注销sql语句。

     SessionFactory sf = new Configuration()
       .setProperty("hibernate.show_sql", "true")

这应该显示每次执行方法后生成的sql

答案 2 :(得分:0)

它不会批处理,请查看Hibernate Doc

答案 3 :(得分:0)

要跟踪hibernate是否使用批次,您可以为org.hibernate.jdbc.AbstractBatcher创建记录器,它将记录批处理器...