#hibernate #kotlin #jpa
#переход в спящий режим #kotlin #jpa
Вопрос:
Каков наилучший способ наследовать объект jpa с помощью kotlin
, например, у меня есть абстрактная сущность User
, которая выглядит как
@Entity
@Table(name = "users")
@Inheritance(strategy = InheritanceType.JOINED)
abstract class User (
val password: String,
var email: String
)
И я получил вторую сущность PrivateUser
, расширенную из User
@Entity
@Table(name = "private_person")
class PrivatePerson(
override var password: String,
override var email: String,
val name: String
) : User(password, email)
На самом деле мне не нравится переопределять каждое отдельное свойство из суперкласса. Возможно, есть более элегантное решение для этой задачи.
Или это лучший способ обойти
Ответ №1:
Хороший вопрос.
Может быть, вам нужно что-то подобное?
abstract class User (
open val password: String = "",
open var email: String = "")
class PrivatePerson(
override var password: String,
val name: String): User(password)
У вас должна быть инициализированная переменная, если вы хотите ее пропустить.