Журнал изменения сущностей не работает для внутренней сущности

Дано:

Есть сущность “A” внутри нее есть атрибуты которые ссылаются на другие сущности к примеру на “B” и. т. д.

Так же у “A” есть обычные атрибуты( name, count and other).

Когда я перехожу в «Администрирование» → «Журнал изменения сущностей»
делаю следующие действия

  1. я добавляю туда сущность “A” и все его атрибуты ставлю АВТО=TRUE
  2. я добавляю туда сущность “B” и все его атрибуты ставлю АВТО=TRUE

после возвращаюсь на карточку редактирования сущности “A” …внутри нее я могу добавлять либо изменять таблицу с сущностями “B”

так вот когда я изменяю или создаю сущность “B” данные в “audit_entity_log” не пишутся ПО ЭТОЙ сущности.
Но вот простые атрибуты( name, count and other) карточки “A” в “audit_entity_log” записываются!

Проблема заключается в том что если сущность(B) находится внутри другой сущности(А)
то логирование сущности (B) не происходит…есть идеи?

спасибо!

Добрый день!

а поподробнее можно?

давайте кодом попробую

@Entity
public class ReportSecurity {
    @JmixGeneratedValue
    @Column(name = "ID", nullable = false)
    @Id
    private UUID id;

    /**
     * Отчетный период
     */
    @Column(name = "REPORT_PERIOD", nullable = false)
    @Temporal(TemporalType.DATE)
    @NotNull
    private Date reportPeriod;

    @OnDeleteInverse(DeletePolicy.UNLINK)
    @JoinColumn(name = "STATUS_ID")
    @OneToOne(fetch = FetchType.LAZY)
    private Status status;

    @Composition
    @OneToMany(mappedBy = "reportSecurity")
    private List<InfoEconomicSecurityThreat> infoEconomicSecurityThreat;

}

на карточке редактирования ReportSecurityEdit есть таблица с сущностями InfoEconomicSecurityThreat

В «Журнал изменения сущностей» я указал что логировать надо аттрибуты сущности InfoEconomicSecurityThreat и ReportSecurity

Так вот когда добавляю или изменяю сущность InfoEconomicSecurityThreat внутри карточки ReportSecurity логирование аттрибутов сущности InfoEconomicSecurityThreat не происходит!
как сделать чтобы происходило?

для сохранения элемента ReportSecurity я использую unconstrainedDataManager
изза него не логируется измененый элемент в таблице - infoEconomicSecurityThreat

как это поправить? это наверное больше вопрос к поддержке jmix

Что удалось выяснить.
У меня, при настройке через GUI для логирования не доступно свойство типа Composition.
Но я сделал JMX бин, в котором программно включается логирование всех не системных полей в том числе и Composition. В этом случае логгирование работает. В поле старого и нового значения записываются intanceName всех сущностей. Например:

specification-oldVl=[SW-0000000141 от 20.02.2023,SW-0000000142 от 20.02.2023]
specification=[SW-0000000141 от 20.02.2023]

а можете показать как это реализовано у Вас в коде?
что мне требуется сделать чтобы прийдти к такому же результату

@kadatskiy_dd, в личке.