2016-07-25 35 views
2

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; 
} 
+0

@NeilStockton 'AccessType.FIELD', glaube ich. –

Antwort