2012-01-23 3 views
0

У меня есть dao, который в основном вставляет запись в таблицу, используя спящий режим, этот dao отмечен @Transactional аннотациями с propogation-NESTED, и у меня есть служба, которая делает некоторые другие вещи, а затем вызывает мое dao. Мой сервис также аннотируется @Transactional с propagation-REQUIRED.Hibernate batch insert, пакетное обновление

Я вызываю услугу в цикле. Мои вставки на моем dao работают в пакетном режиме или один за другим? Как я могу быть уверен, что они работают в пакетном режиме? Менеджер hibernateTransaction управляет пакетными вставками?

Я использую Oracle DB.

+0

Я спрашиваю о addBatch эквиваленте JDBC в спящем режиме – dursun

ответ

1

Я установил следующее имущество и мое выступление увеличилось;

hibernate.jdbc.batch_size=50 
0

Я не специалист по спящим режимам, но помню, как добавить свойство для выхода из SQL-операторов.

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

Это должно показать, что SQL будет производится после каждого выполнения вашего метода

+0

я могу отслеживать SQL заявления, никаких проблем в этой точке, они, кажется, появляется сразу, но как я могу быть уверен, что они работают в пакетном режиме в БДЕ, если я использовали метод Jdbc и addBatch, тогда он работает в пакетном режиме в БД. Но как насчет спящего режима. – dursun

0

Чтобы отслеживать, если спящий режим использует партию вы можете создать регистратор для org.hibernate.jdbc.AbstractBatcher он будет регистрировать дозатор ...

Смежные вопросы