2013-03-05 71 views
3

我有具有两个字段JPA一个字段依赖于另一个字段中相同的表

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

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

-- 

两个字段可以是空一类。但是,如果transactionDate不为null,则nextTransactionDate不能为null。我怎样才能使用JPA实现上述领域之间的关系?任何代码片段,链接将不胜感激。

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

+2

你需要使用一个bean验证API来做到这一点,看看[这个](http://stackoverflow.com/questions/9804009/jsr-303-bean-validation-annotate-multiple-fields) – 2013-03-05 14:22:57

+1

@ bmorris591它只是对象或应用程序级别验证而不是数据库约束。 – Rafiq 2013-03-05 16:24:44

回答

2

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

+0

我不知道我的老板会用哪个数据库。所以我想要一个概括形式,以便我可以从一个数据库切换到另一个数据库。 – Rafiq 2013-03-05 16:14:58

0

最好在DAO或服务层中编写biz逻辑,而不是在ORM级别定义它。 JPA和ORM工具只是用来解决持久性问题而不是逻辑问题。

相关问题