Генерация байткода полей Entity на основе интерфейса

Добрый день.

В Cuba Platform была
StandardEntity implements Creatable, SoftDelete, Updatable, Versioned { …}

Есть желание сделать так, чтобы можно было комбинировать эти (и любые другие интерфейсы), а байт код для доступа к полям генерировался Javassist.
Есть понимание, что возможны следующие проблемы:

  1. Генерация миграционных changeLog’ов должна выполняться с учетом сгенерированного байткода
  2. Jmix Studio не будет видеть сгенерированные поля

Подскажите пожалуйста, возможна ли реализация такого решения?
С какими еще проблемами можем столкнуться?

Ваш класс сущности может имплементировать любые ваши интерфейсы, это не должно помешать никаким механизмам Jmix. Но это должен быть именно класс, не интерфейс.

Насколько я понимаю вы хотите чтобы класс сущности генерировался при сборке, а в исходниках были только интерфейсы? А для чего если не секрет? И кстати в CUBA такого не было.

Насколько я понимаю вы хотите чтобы класс сущности генерировался при сборке, а в исходниках были только интерфейсы?

Да

А для чего если не секрет?

Хотели избежать написания шаблонного кода

И кстати в CUBA такого не было.

Привел неудачную аналогию, имелось ввиду что-то вроде EntityEnhancing

После прочтения статьи Сode generation in cuba, т.к. судя по всему такое решение поломает интеграцию c JmixStudio

Код сущностей поддерживается дизайнером Студии автоматически, его не надо писать руками. Тогда какая разница в каком виде он существует - в исходниках и в байткоде или только в байткоде? В первом случае как минимум понятнее и удобнее отлаживать.