Hibernate пакетная вставка, пакетное обновление - PullRequest
0 голосов
/ 23 января 2012

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

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

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

Ответы [ 4 ]

1 голос
/ 28 февраля 2012

Я установил следующее свойство и моя производительность увеличилась;

hibernate.jdbc.batch_size=50
0 голосов
/ 23 января 2012

Это не будет идти в пакете, посмотрите на Hibernate Doc .

0 голосов
/ 16 февраля 2012

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

0 голосов
/ 23 января 2012

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

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

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

...