diff --git a/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java b/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java index 152928777..1fc6f9d83 100644 --- a/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java +++ b/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java @@ -123,7 +123,9 @@ public class SimpleTypeHolder { return true; } - if (type.getName().startsWith("java.lang")) { + String typeName = type.getName(); + + if (typeName.startsWith("java.lang") || typeName.startsWith("java.time")) { return true; } diff --git a/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java b/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java index 76abc21a4..addf8a84e 100644 --- a/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java @@ -19,6 +19,7 @@ import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; import java.lang.reflect.Type; +import java.time.Instant; import java.util.Collections; import java.util.HashSet; import java.util.UUID; @@ -114,6 +115,14 @@ public class SimpleTypeHolderUnitTests { assertThat(holder.isSimpleType(Type.class), is(true)); } + @Test // DATACMNS-1294 + public void considersJavaTimeTypesSimple() { + + SimpleTypeHolder holder = new SimpleTypeHolder(); + + assertThat(holder.isSimpleType(Instant.class), is(true)); + } + enum SimpleEnum { FOO;