如何编写自定义约束以检查类中的至少一个布尔字段为true

| 我有一个名为\“ Scheduler \”的类,它具有7个布尔值字段。我想在休眠中编写一个约束,以检查至少一个布尔字段是否为真。 这是\“ Scheduler \”类。
public class Scheduler {

private String description;

@NotNull
private Boolean sMondays;

@NotNull
private Boolean sTuesdays;

@NotNull
private Boolean sWednesdays;

@NotNull
private Boolean sThursdays;

@NotNull
private Boolean sFridays;

@NotNull
private Boolean sSaturdays;

@NotNull
private Boolean sSundays;

public Scheduler() {

}
}
谁能帮我写上面提到的约束。 谢谢!!!!!!!!!     
已邀请:
这很复杂,因为您使用的是布尔值而不是原始的布尔值,这会产生空指针异常的风险。 为了简化逻辑,我将修改每个字段声明以将其初始化为false。正如您将它们注释为“ 1”一样,我的假设是这将与您现有的业务逻辑一起使用。 如果这样做,使用
||
可以很简单地实现对至少一个的验证。
public boolean validateAtLeastOneIsTrue() {
    return getsMondays() || getsTuesdays() || getsWednesdays()
    || getsThursdays() || getsFridays() || getsSaturdays()
    || getsSundays();
}
    
建议您在不知道您正在使用的确切域的情况下,使用诸如Calendar之类的时间数据类型。这将允许您在一周的当前日期进行简单查找。这也使代码更易于维护     

要回复问题请先登录注册