Anulando el setter de properties de Kotlin conduce a dos JPA @Id

Tengo tres classs de Kotlin que representan entidades de Hibernate:

@MappedSuperclass abstract class Parent { @Id @GeneratedValue @Column(nullable=false) var id: Long? = null } @Entity class Child1 {} @Entity class Child2 { @Id @GeneratedValue @Column(nullable=false) override var id: Long? = null set(value) { super.id = value doSomething() } } 

Tenga en count que necesito anular el setter para id para llamar a doSomething después. Esa es la forma en que había hecho id en Java antes.

Se construye correctamente, pero a Hibernate no le gusta:

 A foreign key refering Child2 from ... has the wrong number of column. Should be 2. 

De algún otro error, sospecho que la id reemplazada no se ha sobrescrito correctamente y Hibernate ve las columnas de id dos veces, desde Parent e Child2 .