Ich arbeite an einer Entitätsbibliothek. Ich habe einige Bean-Validierungs-Annotationen auf meine Entitäten geschrieben.Warum @AssertTrue nicht funktioniert, während @NotNull funktioniert?
Ich glaube fest, dass eine Bean-Validierung Implementierung auf dem Klassenpfad. @javax.validation.constraints.NotNull
funktioniert und @javax.validation.constraints.AssertTrue
funktioniert nicht.
class MyEntity {
@AssertTrue // does't work
public boolean hey() {
return false;
}
@NotNull // works; violation while persist
private String some;
}
Was habe ich möglicherweise falsch gemacht?
Ich verwende org.hibernate:hibernate-validator
und ändern es mit org.apache.bval:bval-jsr
macht keinen Unterschied.
UPDATE
Verfahren tatsächlich aufgerufen wird. Ich überprüfe das Protokoll.
Hier kommt meine Methode.
@AssertTrue(message = "a property must be eclusively system or owned")
private boolean execlusivelySystemOrOwned() {
logger.info("execlusivelySystemOrOwnded()");
final boolean result = system^(getOwner() != null);
logger.log(Level.INFO, "result: {0}", result);
return result;
}
@NeilStockton 'AccessType.FIELD', glaube ich. –