Hi Carlo,
dass Problem ist, dass ich gerne
final benutzten würde, um auch versehentliche Änderungen in der selben Klasse zu verhindern. (Meine Eclipse -Einstellungen machen das eh automatisch, wenn keine Zuweisung außerrhalb der Konstruktoren erfolgt.)
Wenn ich einen privaten Standardkonstruktor benutze und das Feld mit einem nicht sinnvollen Wert initialisiere, gibt das wahrscheinlich auf Grund der finalen Eigenschaft beim setzen durch Hibernate (braucht ja nicht unbedingt getter und setter, bei Property-Access) Probleme.
Einfach auf
final zu verzichten, wäre die infachste Lösung, aber leider halt unsauber.
Der Hinweiß auf die Einschränkungen der Reflection-Api ist zumindest seit Java5 nicht ganz korrekt, denn durch
Code:
getConstructor(Class<?>... parameterTypes)
in
Code:
java.lang.Class<T>
und
Code:
public T newInstance(Object... initargs)
in
Code:
java.lang.reflect.Constructor<T>
solte ein Aufruf eines nicht Standardkonstruktors problemlos möglich sein, wenn Hibernate das Attribut bzw. die Signatur kennt.
Viele Grüße Michael