diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/PlatformArrayTypeJsonList.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/PlatformArrayTypeJsonList.java index 636d55b01b..7eeb22f3af 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/PlatformArrayTypeJsonList.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/PlatformArrayTypeJsonList.java @@ -5,6 +5,9 @@ import io.ebean.core.type.ScalarType; import java.lang.reflect.Type; +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; import java.util.UUID; /** @@ -30,6 +33,27 @@ public ScalarType typeFor(Type valueType, boolean nullable) { if (valueType.equals(UUID.class)) { return new ScalarTypeJsonList.VarcharWithConverter(DocPropertyType.UUID, nullable, ArrayElementConverter.UUID); } + if (valueType.equals(Long.class)) { + return new ScalarTypeJsonList.VarcharWithConverter(DocPropertyType.LONG, nullable, ArrayElementConverter.LONG); + } + if (valueType.equals(Integer.class)) { + return new ScalarTypeJsonList.VarcharWithConverter(DocPropertyType.INTEGER, nullable, ArrayElementConverter.INTEGER); + } + if (valueType.equals(Double.class)) { + return new ScalarTypeJsonList.VarcharWithConverter(DocPropertyType.DOUBLE, nullable, ArrayElementConverter.DOUBLE); + } + if (valueType.equals(Float.class)) { + return new ScalarTypeJsonList.VarcharWithConverter(DocPropertyType.DOUBLE, nullable, ArrayElementConverter.FLOAT); + } + if (valueType.equals(BigDecimal.class)) { + return new ScalarTypeJsonList.VarcharWithConverter(DocPropertyType.DOUBLE, nullable, ArrayElementConverter.BIG_DECIMAL); + } + if (valueType.equals(Instant.class)) { + return new ScalarTypeJsonList.VarcharWithConverter(DocPropertyType.TEXT, nullable, ArrayElementConverter.INSTANT); + } + if (valueType.equals(LocalDate.class)) { + return new ScalarTypeJsonList.VarcharWithConverter(DocPropertyType.TEXT, nullable, ArrayElementConverter.LOCAL_DATE); + } return new ScalarTypeJsonList(java.sql.Types.VARCHAR, JsonStorage.VARCHAR, docType(valueType), nullable, MutationDetection.DEFAULT); }