Гибернация, изменение обновленной метки времени дочерних записей при изменениях в родительских записях

#java #hibernate #spring-boot #foreign-keys #hibernate-envers

#java #спящий режим #весенняя загрузка #внешние ключи #спящий режим-envers

Вопрос:

У меня есть приложение Spring boot с гибернацией. У меня есть следующие таблицы.

 @Entity
public class Application1 {

   @JoinColumn(name = "form_id")
   @OneToOne
   Form form;

  @Column
  @UpdateTimestamp
  Timestamp updateDateTime;

   <<other fields  here>> 
}

@Entity
public class Application2 {

   @JoinColumn(name = "form_id")
   @OneToOne
   Form form;

  @Column
  @UpdateTimestamp
  Timestamp updateDateTime;

   <<other fields  here>> 
}

@Entity
public class Form {

  @Column
  @UpdateTimestamp
  Timestamp updateDateTime;

   <<other fields  here>> 
}

  

столбец updateDateTime обновляется при каждом обновлении соответствующих таблиц. Но я хочу обновлять updateDateTime таблиц Application1 и Applicatin2 всякий раз, когда происходит изменение в таблице формы

Ответ №1:

Здесь, скорее всего, потребуется двунаправленная связь. Добавьте соответствующую зависимость от Form объекта:

 @Entity
public class Form {

  @Column
  @UpdateTimestamp
  Timestamp updateDateTime;

  @OneToOne(mappedBy = "form")
  private Application application;
  

Комментарии:

1. Отлично. Рад, что смог помочь