DATACMNS-1326 - PersistentPropertyInspectingIsNewStrategy now considers primitive type's defaults.

PersistentPropertyInspectingIsNewStrategy now considers entities with primitive default identifier values new.
This commit is contained in:
Oliver Gierke
2018-05-18 23:43:41 +02:00
parent 865163d466
commit 7d8539d83c
2 changed files with 21 additions and 8 deletions

View File

@@ -85,7 +85,7 @@ public class MappingContextIsNewStrategyFactory extends IsNewStrategyFactorySupp
if (entity.hasIdProperty()) {
return PersistentPropertyInspectingIsNewStrategy.of(entity.getRequiredIdProperty(),
MappingContextIsNewStrategyFactory::propertyIsNull);
MappingContextIsNewStrategyFactory::propertyIsNullOrZeroNumber);
}
return null;
@@ -116,11 +116,7 @@ public class MappingContextIsNewStrategyFactory extends IsNewStrategyFactorySupp
}
}
private static boolean propertyIsNull(Object it) {
return it == null;
}
private static boolean propertyIsNullOrZeroNumber(Object value) {
return propertyIsNull(value) || value instanceof Number && ((Number) value).longValue() == 0;
return value == null || value instanceof Number && ((Number) value).longValue() == 0;
}
}