在 Spring Data Cassandra 中设置默认值



基本上我想知道,如果得到空值,如何将默认值设置为 Pojo 变量?

我在我的项目中使用 Spring-data-Cassandra。布尔列中的某些条目具有 null,当我从数据库中获取记录时,它会抛出错误:

布尔值不能为空

即使我在int/long/double方面也面临同样的问题......列。

所以我想在数据库的列为 null 时给这些字段一个默认值。

这是我希望的最后一个例子:

@Column(default = "UNKNOWN")
private String name;
@Column(default = -1)
private int age;
// or
private String name = "UNKNOWN";
private int age = -1;

我已经了解了Converter/Mapping/TypeDecode...但我什么都没有。

请帮助我。

我认为你在建筑上有一些错误。如果你不能在POJO中接受null,那么null值是如何到达DB的?您可能必须接受来自数据库的空值?

无论如何,您可以在这些方法中创建设置器并使用设置默认值来制作空检查器。

使用 @AccessType 注释来确保 Spring Data 通过 setter 和 getter 访问属性。然后,您可以将从null值转换为默认值的设置器中。当然,二传手需要接受盒装类型。不确定,这是否意味着字段也必须是装箱类型。

最新更新