【问题标题】:Best way to inherit tables with kotlin and jpa用 kotlin 和 jpa 继承表的最佳方法
【发布时间】:2021-02-05 20:52:44
【问题描述】:

使用 kotlin 继承 jpa 实体的最佳方法是什么
例如我有抽象实体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)   

实际上,我不喜欢覆盖超类中的每一个属性。也许该任务有更优雅的解决方案。
或者这是最好的解决方法

【问题讨论】:

    标签: hibernate kotlin jpa


    【解决方案1】:

    好问题。

    也许你需要这样的东西?

    abstract class User (
            open val password: String = "",
            open var email: String = "")
    
    class PrivatePerson(
            override var password: String,
            val name: String): User(password)  
    

    如果你想跳过它,你必须有一个初始化的变量。

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 1970-01-01
      • 2019-01-12
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      • 2020-03-29
      • 1970-01-01
      相关资源
      最近更新 更多