Spring Cloud Datastore 用于集合的自定义转换器
2024-01-12 09:33 更新
用户可以提供从List<?>
到自定义集合类型的转换器。仅需要读取转换器,在写端使用Collection API将集合转换为内部列表类型。
集合转换器需要实现org.springframework.core.convert.converter.Converter
接口。
例:
让我们从前面的示例中改进Singer类。我们希望有一个ImmutableSet<Album>
类型的字段,而不是Album
类型的字段:
@Entity public class Singer { @Id String singerId; String name; ImmutableSet<Album> albums; }
我们只需要定义一个读转换器:
static final Converter<List<?>, ImmutableSet<?>> LIST_IMMUTABLE_SET_CONVERTER = new Converter<List<?>, ImmutableSet<?>>() { @Override public ImmutableSet<?> convert(List<?> source) { return ImmutableSet.copyOf(source); } };
并将其添加到自定义转换器列表中:
@Configuration public class ConverterConfiguration { @Bean public DatastoreCustomConversions datastoreCustomConversions() { return new DatastoreCustomConversions( Arrays.asList( LIST_IMMUTABLE_SET_CONVERTER, ALBUM_STRING_CONVERTER, STRING_ALBUM_CONVERTER)); } }
以上内容是否对您有帮助:
更多建议: