类似于 "static Criterion isNull(String propertyName) " for set 而不是 String 的功能?



我遇到了一个问题。两个表之间的关系是一对多,但不幸的是,我们只关心"MANY"为空的"ONE"。

任务是:现在我需要查询鼠标,其中 Set 应该为空。如果休眠可以支持"静态条件是空(Set s)",那么就可以了。

其他方法也可以。

有两个类:

第 1 类:

public class Mouse {
@OneToMany(mappedBy="mouse")
@Cascade(org.hibernate.annotations.CascadeType.LOCK)
@Where(clause="incage = 0")
private Set<Residency> cageHistory = new HashSet<Residency>();

@OneToMany(mappedBy="mouse")
@Cascade(org.hibernate.annotations.CascadeType.LOCK)
@Where(clause="incage = 1")
private Set<Residency> currentResidencies = new HashSet<Residency>();
...
...

}

第 2 类:

@Entity
@Table(name="smcagemouse")
public class Residency extends TimestampedEntity implements Serializable {
@Column(nullable=false)
/*0 -- not active*/
/*1 -- active*/

}

谢谢!

这可以通过 isNotEmpty() 来解决。

Limits.isNotEmpty(propertyName);

我已经实现了解决方案。

相关内容

最新更新