Кажется, что вы не можете создать конструктор копирования, вы не можете заставить его реализовать клонирование.
Я думал об использовании отражения, чтобы перебрать каждый атрибут в дочернем классе, но есть ли лучшийпуть?
Вы можете легко реализовать эти вещи в генераторе кода самостоятельно.В обоих случаях вам потребуется сгенерировать некоторый пользовательский код , а в случае Cloneable вам потребуется написать стратегию генератора ( programmatic или configutive ), который добавляет интерфейс Cloneable ко всем сгенерированным записям.
Cloneable
Если вы не используете сгенерированные записи или хотите клонировать любую произвольную запись, вы все равно можете использовать одну из множества Record.into() методы , которые копируют содержимое записи в новый тип.
Record.into()