Наследование типа JOIN, мягкое удаление и уникальный индекс

Добрый день!
Jmix version: 1.4.2
Jmix Studio plugin version: 1.4.2-222
IntelliJ version: IntelliJ IDEA 2022.2.3 (Community Edition)

Имеем:

  • Мягкое удаление
  • Наследование JOIN
    В наследнике хочу сделать уникальный индекс, но получаю такое предупреждение:
    image
    Что и логично - поле deleted_date находится в таблице предка.
    Я правильно понимаю, что из коробки при наследовании JOIN и мягком удалении уникальный индекс не сделать?

Совершенно верно. Вы можете создать вручную в наследнике уникальный индекс без включения в него поля delete_ts, но тогда система не позволит создать запись с тем же значением уникального поля, которое есть в удаленной записи. Что может свести на нет пользу от мягкого удаления.

Решил проблему добавлением триггера на изменение поля delete_ts на таблице родителя, который синхронизирует аналогичное поле в таблице наследника.

1 симпатия