我已经在谷歌上找了一段时间了,也没有找到答案。
我有两个表:一个是我的,另一个是共享的。映射到实体时,我有这样一个非常通用的情况:
Entity1 {
@Id Long id;
Long otherId;
Entity2 other;
...
}
Entity2 {
@Id Long id;
Long otherId;
Date invalidatingDate;
...
}这两个otherId是相同的,应该连接,但由于字段invalidatingDate,我得到了一个应该为OneToOne的OneToMany关系。有没有办法用INVALIDATING_DATE为空来约束这种关系?在Entity2中,如果给定一个otherId,则INVALIDATING_DATE IS NULL将始终给出一个结果。这样的事情有可能吗?
谢谢。
发布于 2014-03-14 02:30:58
由于您使用的是hibernate,因此可以执行以下操作(我不确定您的问题- OneToOne或ManyToOne之间的关系,但请注意@Where提示):
Entity1 {
@Id Long id;
Long otherId;
@ManyToOne/@OneToOne
@Where(clause = "invalidatingDate = NULL")
Entity2 other;
...
}https://stackoverflow.com/questions/22386903
复制相似问题