【问题标题】:JPA one field depends on another field in same tableJPA 一个字段依赖于同一张表中的另一个字段
【发布时间】:2013-03-05 14:16:50
【问题描述】:

我有一个有两个字段的类

@Column(name = "transactionDate", nullable = true)
private Date transactionDate;

@Column(name = "nextTransactionDate", nullable = true)
private Date nextTransactionDate

--

两个字段都可以为空。但如果 transactionDate 不为 null,则 nextTransactionDate 不得为 null。如何使用 JPA 实现字段之间的上述关系?任何代码sn-p,链接将不胜感激。

注意:我使用的是 JPA 而不是 Hibernate。

【问题讨论】:

  • 您需要使用 bean 验证 API 来执行此操作,请查看 this
  • @bmorris591 这只是对象或应用程序级别的验证,而不是数据库约束。

标签: java jpa


【解决方案1】:

您可以在您的对象模型或应用程序中验证这一点,而不是通过数据库约束。您还可以通过自己的 DDL 脚本在数据库中定义自己的检查约束。

【讨论】:

  • 不知道老板会用哪个数据库。所以我想要一个通用形式,以便我可以从一个数据库切换到另一个。
【解决方案2】:

最好在 DAO 或服务层对 biz 逻辑进行编码,而不是在 ORM 级别定义它。 JPA 和 ORM 工具旨在解决持久性问题而不是商业逻辑问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 2013-12-26
    • 2019-08-27
    • 2019-03-11
    • 2021-05-22
    相关资源
    最近更新 更多