Как проверить, действительно ли работает пакетная обработка JDB C? - PullRequest
0 голосов
/ 05 мая 2020

Я прочитал эту статью о пакетной обработке jdb c, и в ней предлагается включить spring.jpa.properties.hibernate.generate_statistics=true, чтобы проверить, действительно ли пакетирование работает.

Итак, когда я попробовал это и сделал кучу операторов вставки, журналы показали мне это.

27933133 nanoseconds spent executing 2 JDBC batches;

Значит, это действительно сработало. Но мне было интересно, как выглядят операторы sql, поэтому я попытался включить SQL ведение журнала logging.level.org.hibernate.SQL=DEBUG. Я попытался сохранить 10 элементов и ожидал, что при размере пакета 5 я увижу 2 оператора insert SQL. Однако, когда я просмотрел логи, я увидел 10 операторов insert SQL ... Почему это так? Вот статья, кстати: https://www.baeldung.com/jpa-hibernate-batch-insert-update

Я неправильно понял статью? Если jdb c выполнил пакетную обработку, почему я вижу 10 SQL операторов вместо 2?

Вот моя конфигурация:

spring.jpa.properties.hibernate.jdbc.batch_size=5
spring.jpa.properties.hibernate.order_inserts=true
spring.jpa.properties.hibernate.order_updates=true
spring.jpa.properties.hibernate.batch_versioned_data=true
logging.level.org.hibernate.SQL=DEBUG
spring.jpa.properties.hibernate.generate_statistics=true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...