【问题标题】:Can Cassandra return an empty set/list instead of nullCassandra 可以返回一个空集/列表而不是 null
【发布时间】:2017-08-04 18:01:01
【问题描述】:
在编写包含空 Set 或 List 的对象时,Cassandra 将其写为 null。因此,在查询该对象时,它会创建一个带有空 Set 或 List 的对象。
是否可以让 Cassandra 创建一个空的 Set/List 而不是 null,或者一开始就不写 null?
【问题讨论】:
标签:
java
database
cassandra
【解决方案1】:
Cassandra 或多或少是一个列式数据库,因此它的 null 不是 SQL 中的 null。在 Cassandra 中 null 表示该行中的这一列在数据库中根本不存在,不占用任何空间。
我认为您的语言的 Cassandra 客户端 API 只是检查 Set/List 是否为空,并将其从 INSERT/UPDATE 中排除以优化查询。
因此,这是设计使然,您在与 Cassandra 交互时应牢记这一点。