【问题标题】:How to set default values for an Entity when it is created?创建实体时如何设置其默认值?
【发布时间】:2017-05-17 05:19:51
【问题描述】:

我被要求制作一个 JPA 实体 bean,以便在创建它时获得某些属性的默认值。我所做的是在将实体持久保存到数据库之前在代码中为这些属性设置值,但我被告知这是错误的做法。我在数据库中有这些属性的列的默认值,但是当创建一个新实体时,它们没有默认值。

解决这个问题的正常方法是什么?我无法通过谷歌搜索找到合适的文档。

【问题讨论】:

  • 当它被创建时,它会获得某些属性的默认值:因此,从构造函数中初始化属性。这就是创建实体时调用的内容,就像任何其他对象一样。
  • 我明白了。有点奇怪,我还没有遇到实体中的构造函数。

标签: java hibernate jpa persistence default-value


【解决方案1】:

通常,您将遵循一种做法,即存在用于持久化或检索数据的 repository 和 repositoryImpl。

因此,为每个存储库创建一个名为 wire(Object o)/bind(Object o) 等的方法,并在创建的方法中设置默认值。每当您保存数据时, 1)调用created方法,然后调用save方法 2)在created方法中调用save方法,当你想保存数据时不要使用entitymanager的直接save/persist,总是调用created的wire()/bind()并在该方法中调用save/persist。

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 2012-05-12
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多