diff --git a/src/main/java/org/springframework/data/redis/core/convert/MappingRedisConverter.java b/src/main/java/org/springframework/data/redis/core/convert/MappingRedisConverter.java index 1cea9a221a..8e64933956 100644 --- a/src/main/java/org/springframework/data/redis/core/convert/MappingRedisConverter.java +++ b/src/main/java/org/springframework/data/redis/core/convert/MappingRedisConverter.java @@ -109,6 +109,7 @@ * @author Greg Turnquist * @author Mark Paluch * @author Golam Mazid Sajib + * @author Leehyoungwoo * @since 1.7 */ public class MappingRedisConverter implements RedisConverter, InitializingBean { @@ -404,6 +405,17 @@ public void write(Object source, RedisData sink) { return; } + if (source instanceof Collection) { + writeCollection( + sink.getKeyspace(), + "", + (List) source, + TypeInformation.of(Object.class), + sink + ); + return; + } + RedisPersistentEntity entity = mappingContext.getPersistentEntity(source.getClass()); if (!customConversions.hasCustomWriteTarget(source.getClass())) { diff --git a/src/test/java/org/springframework/data/redis/core/convert/MappingRedisConverterUnitTests.java b/src/test/java/org/springframework/data/redis/core/convert/MappingRedisConverterUnitTests.java index c70b933f07..702702fa03 100644 --- a/src/test/java/org/springframework/data/redis/core/convert/MappingRedisConverterUnitTests.java +++ b/src/test/java/org/springframework/data/redis/core/convert/MappingRedisConverterUnitTests.java @@ -1997,9 +1997,8 @@ void readGenericEntity() { assertThat(generic.entity.name).isEqualTo("hello"); } - @Test // DATAREDIS-1175 - @EnabledOnJre(JRE.JAVA_8) - // FIXME: https://github.com/spring-projects/spring-data-redis/issues/2168 + @Test // GH-2168 +// @EnabledOnJre(JRE.JAVA_8) void writePlainList() { List source = Arrays.asList("Hello", "stream", "message", 100L);