@@ -106,14 +106,25 @@ public Integer visit(StringStoredField stringfield) {
106106 if (columntype .getDefaultvalue () == null )
107107 if (stringfield .defaultValue () == null )
108108 return PersistentStorage .FIELD_OK ;
109+
109110 if (columntype .getDefaultvalue () == null )
110111 if (stringfield .defaultValue ().length () == 0 )
111112 return PersistentStorage .FIELD_OK ;
113+
112114 if (stringfield .defaultValue () == null )
113- if (columntype .getDefaultvalue ().length () == 0 )
115+ if (columntype .getDefaultvalue () == null )
116+ return PersistentStorage .FIELD_OK ;
117+
118+ if (columntype .getDefaultvalue ().equals ("NULL" ))
119+ if (stringfield .defaultValue () == null )
120+ return PersistentStorage .FIELD_OK ;
121+ if (columntype .getDefaultvalue ().equals ("NULL" ))
122+ if (stringfield .defaultValue ().length () == 0 )
114123 return PersistentStorage .FIELD_OK ;
124+
115125 String defaultvalueinmodel = stringfield .defaultValueAtColumnCreation ();
116- if (this .MetaDataEscapesDefaultString ()) defaultvalueinmodel = "'" + defaultvalueinmodel .replace ("'" , "''" ) + "'" ;
126+ if (this .MetaDataEscapesDefaultString ())
127+ defaultvalueinmodel = "'" + defaultvalueinmodel .replace ("'" , "''" ) + "'" ;
117128 if (columntype .getDefaultvalue () != null )
118129 if (stringfield .defaultValue () != null )
119130 if (columntype .getDefaultvalue ().equals (defaultvalueinmodel )) {
@@ -145,8 +156,7 @@ public Integer visit(DecimalStoredField decimalStoredField) {
145156 int scale = decimalStoredField .getScale ();
146157 if (precision < columntype .getLength ()) {
147158 logger .warning ("Incompatible format for field " + decimalStoredField .getName ()
148- + ", for precision default value in db = " + columntype .getLength () + ", in model = "
149- + precision );
159+ + ", for precision default value in db = " + columntype .getLength () + ", in model = " + precision );
150160 return PersistentStorage .FIELD_UPDATABLE ;
151161 }
152162
@@ -191,9 +201,9 @@ public Integer visit(IntegerStoredField integerStoredField) {
191201 if (columntype .getDefaultvalue () != null )
192202 if (("" + defaultvalue .intValue ()).equals (columntype .getDefaultvalue ()))
193203 return PersistentStorage .FIELD_OK ;
194- logger .warning (
195- "Incompatible default value for field " + integerStoredField . getName () + ", default value in db = "
196- + ( defaultvalue != null ? defaultvalue . intValue (): null ) + ", in model = " + columntype .getDefaultvalue ());
204+ logger .warning ("Incompatible default value for field " + integerStoredField . getName ()
205+ + ", default value in db = " + ( defaultvalue != null ? defaultvalue . intValue () : null ) + ", in model = "
206+ + columntype .getDefaultvalue ());
197207 return PersistentStorage .FIELD_UPDATABLE ;
198208 }
199209
0 commit comments