在Spring Data Cassandra中设置默认值

问题描述 投票:0回答:2

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

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

布尔值不能为null

即使我面对与int / long / double ...列相同的问题。

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

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

@Column(default = "UNKNOWN")
private String name;

@Column(default = -1)
private int age;

// or

private String name = "UNKNOWN";
private int age = -1;

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

请帮我。

java spring spring-data spring-data-cassandra
2个回答
1
投票

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

无论如何,您可以创建setter并使用这些方法中的默认值设置null checker。


0
投票

使用@AccessType annotation确保Spring Data通过setter和getter访问属性。然后,您可以将null值的转换设置为setter中的默认值。当然,制定者需要接受盒装类型。不确定,如果这意味着字段也必须是盒装类型。

© www.soinside.com 2019 - 2024. All rights reserved.