Я искал в Интернете некоторые ответы, но пока не повезло.
Мне нужно расширить существующую сущность, добавив несколько полей.
Скажем, у нас есть класс, которыйуже используется в проекте
@Entity
public class SampleEntity {
@Id
private Long id;
// some fields
}
И я хочу создать еще одно, которое добавляет некоторые дополнительные поля.Что-то вроде
@Entity
public class SampleExtendedEntity extends SampleEntity {
// some more fields
}
Я ищу решение, которое бы создавало новую таблицу БД только с этими дополнительными полями и внешним ключом для SampleEntity
.В идеале этот внешний ключ также должен быть первичным ключом SampleExtendedEntity
. Очень простой способ сделать это - использовать композицию и @OneToOne
, но из-за семантики я действительно хочу использовать наследование.К сожалению, @MappedSuperclass
и @Inheritance
не работают для меня, потому что сущность, которую я расширяю, является классом, который может (и используется) использоваться как самостоятельный.Любые предложения будут оценены