методе, помеченном как транзакционный я её получил, сделал части её элементов кручу-верчу (добавил новые в одно из полей-списков)
                  
                  
                  Но т.к. это только часть изменений - лезу в базу за дополнительными данными.
                  
                  
                  
                  
                  
                  И при выполнении someRepository.findAllById(...) почему-то hibernate решает, что нужно сохранить эту  большую Entity. Это видно в выводе в консоль - появляются insert into...
                  
                  
                  
                  
                  
                  репозиторий, в который лезу, не имеет отношения ни к этой сущности ни к её вложенным данным, вообще "левая" таблица, просто находящаяся в той же базе.
                  
                  
                  
                  
                  
                  Вопрос: на каком основании Hibernate пытается сохранить не полностью подготовленную к записи сущность. И какого он это делает при выполнении не относящейся к ней выборки?
                  
                  
                
Попробуй покопать в сторону dirty checking хибернейтовского
И дело походу в этом
гуглю. Но все найденные источники говорят, что проверка на измененность производится на закрытии сессии. Пока не понимаю, как это связано...
Обсуждают сегодня