基本上我想知道,如果得到空值,我如何设置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
......但我什么都没有。
请帮我。
我认为你在建筑方面有一些错误。如果你不能在POJO中接受null,那么空值如何到达DB?可能你必须接受来自DB的空值吗?
无论如何,您可以创建setter并使用这些方法中的默认值设置null checker。
使用@AccessType
annotation确保Spring Data通过setter和getter访问属性。然后,您可以将null
值的转换设置为setter中的默认值。当然,制定者需要接受盒装类型。不确定,如果这意味着字段也必须是盒装类型。