Spring Boot Entity DynamicUpdate - PullRequest
       4

Spring Boot Entity DynamicUpdate

0 голосов
/ 14 декабря 2018

Я пишу API на Spring Boot, есть проблема с частичным обновлением сущности.Когда я хочу обновить, например, просто имя пользователя, Spring видит в других полях пустые значения и заменяет данные пустыми в базе данных.Как я читал в документации, @DynamicUpdate должен решить эту проблему, но она не работает для меня.

Вот мой пользовательский объект.

@Entity
@Table(name="users")
@DynamicUpdate
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    //other fields...

}

1 Ответ

0 голосов
/ 14 декабря 2018

Вместо этого используйте слияние

Entity en = sessionFactory.getCurrentSession().get(id);
en.setName("abc");
sessionFactory.getCurrentSession().merge(en);

Проблема производительности с Entity (dynamicUpdate = true)
В большой таблице со многими столбцами (устаревшей конструкции) или содержит большие объемы данных, обновление некоторых неизмененных столбцов абсолютно не нужно и сильно влияет на производительность системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...