【问题标题】:Default Values for Fields of JPA EntityJPA 实体字段的默认值
【发布时间】:2021-10-22 07:26:37
【问题描述】:

在我的一个项目中,我有一个要使用 JPA 从数据库中检索和填充的类。查找正在工作并且正在创建对象,但是我在尝试为某些字段设置默认值时遇到了麻烦。理想情况下,我会在数据库本身中设置默认值,但数据库是我无法修改的不同应用程序的一部分。我的下一个想法是在字段上设置一个默认值,即

@Column
String foo = "abc";

但是当我进行如下查找时,这些默认值会被覆盖:

 Customer actual = entityManager.find(Customer.class, customerNumber);

我还尝试使用 hibernate 中的 @ColumnDefault 注释,但没有成功。我可以在 getter 方法中做到这一点,但这似乎是个坏主意。

在这一点上,我还没有什么想法。有没有其他方法可以解决这个问题,或者我想做的事情根本不可能?

【问题讨论】:

标签: java hibernate jpa persistence


【解决方案1】:

你是如何使用@ColumnDefault 的? 看来你没有用''包装你的默认字符串。

例如:

@ColumnDefault("'My default value'")

您可以查看here 了解更多信息。另外你可以通过@vaibhavsahu查看link

【讨论】:

  • 奇怪,我真的认为这会奏效,但它没有。如果我在调用 entityManager.find 后评估客户,它仍然显示 foo 字段的空值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-20
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
  • 2016-01-06
  • 2017-04-16
相关资源
最近更新 更多