Hibernate кэширует фактические строки SQL INSERT / SELECT / UPDATE для каждой сущности, и очевидным преимуществом является то, что ему не нужно вычислять SQL, когда вы хотите сохранить, найти или обновить сущность.
Однако при использовании динамической вставки или динамического обновления Hibernate должен каждый раз генерировать соответствующую строку SQL, и, таким образом, на стороне Hibernate снижается производительность.
Другими словами, существует компромисс между накладными расходами на стороне базы данных и на стороне Hibernate.
Моя точка зрения заключается в том, что динамическая вставка и динамическое обновление могут быть интересны для таблиц с толстым столбцом или таблиц с огромным количеством столбцов. В других случаях я не уверен, что динамическая вставка или обновление всегда означает повышение производительности (я не использую их по умолчанию). Но, как всегда, вы должны это измерить.
Смотри также