JPA entity default-Wert

Habe ich eine Entität mit default-Wert und ein berechnetes Feld wie folgt:

public class Target{
    @Transient
    public Long       total;

    @Min(0)
    @Column(columnDefinition="default 0")
    public Long       val1 = 0L;
    @Min(0)
    @Column(columnDefinition="default 0")
    public Long       val2 = 0L;

    public Target() {
        this.total = Long.valueOf(0L);
        this.val1 = Long.valueOf(0L);
        this.val2 = Long.valueOf(0L);
    }

    public Long calcTotal() {
        return val1 + val2 ;
    }

    public void setVal1(Long val) {
        this.val1 = checkNotNull(val);
        total = calcTotal();
    }

    public void setVal2(Long val) {
        this.val2 = checkNotNull(val);
        total = calcTotal();
    }
}

Jedoch, wenn die Einheit geladen wird, indem JPA, der setter aufgerufen werden und eine NullPointerException geworfen wird, in calc.
Ist es irgendwie Standard, die Werte vor dem JPA ruft die setter?

InformationsquelleAutor emt14 | 2012-01-23

Schreibe einen Kommentar