JPA / Hibernate:JPA Relationship,过滤NULL值

时间:2014-03-13 17:52:07

标签: java hibernate jpa

我一直在寻找谷歌一段时间而没有找到答案。

我有两张桌子:一张是我的,另一张是共享的。映射到实体,我有这个非常通用的情况:

Entity1 {
  @Id Long id;
  Long otherId;
  Entity2 other;
  ...
}

Entity2 {
 @Id Long id;
 Long otherId;
 Date invalidatingDate;
 ...
}

那两个otherId是相同的并且应该加入但是由于字段invalidatingDate我得到一个应该是OneToOne的OneToMany关系。有没有办法用INVALIDATING_DATE IS NULL来弥补这种关系?进入Entity2,给定一个otherId,WHERE INVALIDATING_DATE IS NULL将始终给出单个结果。 这样的事情有可能吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

由于您正在使用休眠,因此您可以执行以下操作(我不确定您的问题与OneToOneManyToOne之间的关系是什么,但请注意@Where anootation):

Entity1 {
  @Id Long id;
  Long otherId;

  @ManyToOne/@OneToOne
  @Where(clause = "invalidatingDate = NULL")
  Entity2 other;
  ...
}