В нашей системе есть таблица «A», которая имеет около 120 столбцов (я знаю, что таблица не нормализована, и нормализация таблицы существует в качестве элемента невыполненной работы в нашей дорожной карте).
В настоящее время мысталкиваются с проблемой, когда несколько потоков при обновлении одной и той же строки таблицы перезаписывают некоторые существующие обновленные столбцы.У нас нет динамической аннотации обновления для нашей сущности таблицы.
Я думал добавить эту аннотацию к таблице, поскольку это может решить нашу проблему, поскольку разные потоки работают с разными столбцами таблицы и если генерируется sql.во время выполнения обновлять только эти столбцы, тогда он не будет перезаписывать какие-либо обновления, выполненные в других столбцах другим потоком.
Но я читал, что hibernate кэши вставляют, обновите sql для таблицы со всеми столбцами, если динамическое обновление отсутствует.
Итак, будет ли использование @DynamicUpdate здесь на самом деле выгодно или затраты на генерацию динамического sql во время выполнения приведут к снижению производительности?
В рассматриваемой таблице миллионы записей и вставкаили обновление происходит каждую вторую секунду (обновления происходят чаще).