Ich habe ein Modell, bei dem einige NOT-NULL-Hibernate-Validierungen angewendet wurden. Ich muss einige DAO-Abfragen (create/update) ausführen, so dass die Validierungen nur während der Ausführung dieser Abfragen gelockert werden. Ich möchte die Validierungen nicht komplett abschalten, da andere Anfragen in meiner DAO-Ebene diese benötigen.Bedingte Ruhezustandsvalidierung bei Ausführung der Hibernate-Abfrage deaktivieren
Antwort
Es gab einen Weg, um die @NotNull
Überprüfung über native Abfragen zu umgehen, wenn Ihr Schema nicht von Hibernate erstellt wurde oder Hibernate nicht so schlau war, wie es letztlich ist. Sie könnten versuchen, Ihre Datenbankzeilen nativ einzufügen/zu aktualisieren, ohne die Validierung der Anwendungsebene auszulösen, aber Hibernate ist so nett, auch die Datenbankbeschränkung NOT NULL
für mit @NotNull
annotierte Felder zu generieren, was am Ende eine großartige Sache ist.
Sie sollten sich fragen, warum Sie Abfragen ausführen müssen, die nicht den implementierten Validierungseinschränkungen entsprechen. Sicherlich hat der Entwickler, der die Einschränkung hinzugefügt hat, gut über seine Konsequenzen nachgedacht. Im Allgemeinen sollte das Ziel darin bestehen, das Einfügen (vermeidbarer) Nullwerte in Ihrer Datenbank zu verhindern.