【问题标题】:spring data cassandra maps null as empty Listspring data cassandra将null映射为空列表
【发布时间】:2021-09-01 03:48:30
【问题描述】:

我有以下 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;春季数据卡桑德拉 3.1.5

【问题讨论】:

    标签: spring-boot cassandra spring-data spring-data-cassandra


    【解决方案1】:

    Cassandra 不区分空集合和空集合。

    插入时,无论您使用哪一个,它最终都会以完全相同的方式存储在数据库级别。

    阅读时,大多数驱动程序(包括 Spring Boot 使用的驱动程序)通常更喜欢使用空集合而不是 null,以避免 NPE。

    所以简而言之,这种行为是正常的,你没有理由担心它。

    【讨论】:

      猜你喜欢
      • 2018-05-06
      • 1970-01-01
      • 2019-04-16
      • 2017-08-29
      • 1970-01-01
      • 2021-04-02
      • 2018-07-29
      • 2018-04-05
      • 1970-01-01
      相关资源
      最近更新 更多