spring data cassandra 将 null 映射为空列表
spring data cassandra maps null as empty List
我有以下 dto 对象:
public class Data {
@PrimaryKey private EntityKey key;
@Column("r_proposals")
private List<Integer> rProposals;
}
现在,当我尝试在 cassandra 中序列化此对象并将 rProposals 设置为 null(使用 cassandraTemplate::insert)时,它被存储为空列表:
有人知道如何覆盖此行为并将集合设置为 null 如果传入 null 吗?
我们使用spring boot 2.4.3; spring 数据卡桑德拉 3.1.5
Cassandra 不区分空集合和 null。
插入时,无论您使用哪一个都没有关系,它最终将以完全相同的方式存储在数据库级别。
阅读时,大多数驱动程序(包括 Spring Boot 使用的驱动程序)通常更喜欢使用空集合而不是 null,以避免 NPE。
简而言之,这种行为是正常的,您不必担心。
我有以下 dto 对象:
public class Data {
@PrimaryKey private EntityKey key;
@Column("r_proposals")
private List<Integer> rProposals;
}
现在,当我尝试在 cassandra 中序列化此对象并将 rProposals 设置为 null(使用 cassandraTemplate::insert)时,它被存储为空列表:
有人知道如何覆盖此行为并将集合设置为 null 如果传入 null 吗?
我们使用spring boot 2.4.3; spring 数据卡桑德拉 3.1.5
Cassandra 不区分空集合和 null。
插入时,无论您使用哪一个都没有关系,它最终将以完全相同的方式存储在数据库级别。
阅读时,大多数驱动程序(包括 Spring Boot 使用的驱动程序)通常更喜欢使用空集合而不是 null,以避免 NPE。
简而言之,这种行为是正常的,您不必担心。