diff --git a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayList.java b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayList.java index 02adbc0b1..0e7b693db 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayList.java +++ b/src/main/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayList.java @@ -86,7 +86,11 @@ public class ScalarTypeArrayList extends ScalarTypeJsonCollection { @Override public List read(DataReader reader) throws SQLException { Array array = reader.getArray(); - return fromArray((Object[]) array.getArray()); + if (array == null) { + return null; + } else { + return fromArray((Object[]) array.getArray()); + } } @Override diff --git a/src/test/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayListTest.java b/src/test/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayListTest.java new file mode 100644 index 000000000..9a60004e5 --- /dev/null +++ b/src/test/java/com/avaje/ebeaninternal/server/type/ScalarTypeArrayListTest.java @@ -0,0 +1,21 @@ +package com.avaje.ebeaninternal.server.type; + + +import org.junit.Test; +import org.mockito.Mockito; + +import java.sql.SQLException; + +public class ScalarTypeArrayListTest { + + @Test + public void read_when_null() throws SQLException { + + DataReader mock = Mockito.mock(DataReader.class); + Mockito.when(mock.getArray()).thenReturn(null); + + ScalarTypeArrayList scalarType = ScalarTypeArrayList.typeFor(Long.class); + scalarType.read(mock); + + } +} \ No newline at end of file