Hallo!
Ich habe folgendes Problem: darf ein Feld meiner Klasse nicht null sein, so kennzeichne ich dieses mit einer Annotation:
@Column(name="name", nullable=false)
Dies funktioniert auch wunderbar und wenn sich meine Applikation mit einer leeren DB das erste Mal verbindet, wird das Schema erstellt und das Feld in der DB wird mit not null gekennzeichnet.
Nun zum Problem: Besteht bereits ein Schema mit Daten, aber es ändert sich eine Klasse und ein neues Feld wird hinzugefügt, so kann ich das alte Schema natürlich weiterhin benutzen, und das neue Feld wird auch in der DB erstellt. Ist dieses neue Feld jedoch mit nullable=false gekennzeichnet, so wird das Feld in der DB nicht derartig gekennzeichnet und ich bekomme eine Exception, wenn auf das Objekt zugegriffen wird, da ja beispielweise ein double Feld nicht den Wert null haben darf.
Woran liegt das und wie kann man dieses Problem umgehen?
Vielen Dank!
|