ich arbeite nun schon einige zeit mit hibernate, und kam nun letzte woche zu einer fehlermeldung, welche für mich nicht nachvollziehbar ist, da ich ähnlichen code an einer anderen stelle bereits verwendet habe und er dort funktioniert.
ich habe eine klasse "AufgabeStatus"
Code:
public class AufgabeStatus implements IPersistableObject {
Integer id;
String bezeichnung;
Boolean geschlossen;
public String getBezeichnung() {
return bezeichnung;
}
public void setBezeichnung(String bezeichnung) {
this.bezeichnung = bezeichnung;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Boolean isGeschlossen() {
return geschlossen;
}
public void setGeschlossen(Boolean geschlossen) {
this.geschlossen = geschlossen;
}
}
und eine zweite klasse "ProjektStatus" :
Code:
public class ProjektStatus implements IPersistableObject {
Integer id;
String bezeichnung;
Boolean geschlossen;
public String getBezeichnung() {
return bezeichnung;
}
public Integer getId() {
return id;
}
public void setBezeichnung(String string) {
bezeichnung = string;
}
public void setId(Integer integer) {
id = integer;
}
public Boolean isGeschlossen() {
return geschlossen;
}
public void setGeschlossen(Boolean geschlossen) {
this.geschlossen = geschlossen;
}
}
instanzen beider klassen werden in Objekten der Klassen "Aufgabe" und "Projekt" gehalten. im hibernate-mapping ist lazy="true". das mapping sieht bei aufgabe und projekt bis auf die bezeichnungen komplett gleich aus.
Code:
Projekt project = loader.loadProjektById(form.getProject());
ProjektStatus ps = project.getStatus();
if (ps == null || ps.isGeschlossen()) {
...
}
AufgabeStatus as = task.getStatus();
if (as == null || as.isGeschlossen()) {
...
}
die werte in der datenbank sehen im testlauf so aus, dass bei beiden objekten (as und ps) im attribute "geschlossen" der wert false steht.
bei ps.isGeschlossen() erhalte ich ein boolean-objekt mit wert false, bei as.isGeschlossen() erhalte ich jedoch null. ändere ich in der datenbank den wert auf true, so erhalte ich auch hier ein boolean-objekt mit wert true.
was kann man machen, damit ich auch einen wert für false empfange, wie bei projektstatus?
vielen dank für alle antworten, die mir weiterhelfen könnten.