diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonList.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonList.java index 699c7ad0f..d3c700443 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonList.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonList.java @@ -122,9 +122,6 @@ class ScalarTypeJsonList { @Override public final String formatValue(List value) { - if (value.isEmpty()) { - return "[]"; - } try { return EJson.write(value); } catch (IOException e) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonSet.java b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonSet.java index 86a39443e..50cc7f0b3 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonSet.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/type/ScalarTypeJsonSet.java @@ -122,9 +122,6 @@ final class ScalarTypeJsonSet { @Override public final String formatValue(Set value) { - if (value.isEmpty()) { - return "[]"; - } try { return EJson.write(value); } catch (IOException e) { diff --git a/ebean-core/src/test/java/org/tests/json/TestJsonNullValues.java b/ebean-core/src/test/java/org/tests/json/TestJsonNullValues.java new file mode 100644 index 000000000..533116fd1 --- /dev/null +++ b/ebean-core/src/test/java/org/tests/json/TestJsonNullValues.java @@ -0,0 +1,42 @@ +package org.tests.json; + +import io.ebean.BaseTestCase; +import io.ebean.DB; +import org.junit.Test; +import org.tests.model.json.EBasicOldValue; + +import static org.assertj.core.api.Assertions.assertThat; + +public class TestJsonNullValues extends BaseTestCase { + + @Test + public void testSetToNull() { + EBasicOldValue bean = new EBasicOldValue(); + DB.save(bean); + bean = DB.find(EBasicOldValue.class, bean.getId()); + + bean.setStringList(null); + bean.setStringSet(null); + bean.setObjectMap(null); + bean.setLongList(null); + bean.setLongSet(null); + bean.setLongMap(null); + bean.setIntList(null); + bean.setIntSet(null); + bean.setIntMap(null); + + DB.save(bean); + bean = DB.find(EBasicOldValue.class, bean.getId()); + + assertThat(bean.getStringList()).isEmpty(); + assertThat(bean.getStringSet()).isEmpty(); + assertThat(bean.getObjectMap()).isEmpty(); + assertThat(bean.getLongList()).isEmpty(); + assertThat(bean.getLongSet()).isEmpty(); + assertThat(bean.getLongMap()).isEmpty(); + assertThat(bean.getIntList()).isEmpty(); + assertThat(bean.getIntSet()).isEmpty(); + assertThat(bean.getIntMap()).isEmpty(); + } + +}