当前位置: 首页 > 知识库问答 >
问题:

在Spring数据Cassandra中设置默认值

常心水
2023-03-14

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

我在项目中使用了Spring数据Cassandra。布尔列中的某些条目为null,当我从数据库中提取记录时,它会引发以下错误:

布尔值不能为null

甚至我也面临着同样的问题。。。列。

因此,当数据库的列为null时,我想给这些字段一个默认值。

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

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

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

// or

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

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

请帮帮我。

共有2个答案

沈华晖
2023-03-14

使用AccessType注释确保Spring数据通过setter和getter访问属性。然后,您可以在setters中将值从空值转换为默认值。当然,setter需要接受装箱类型。不确定,这是否意味着字段也必须是装箱类型。

夔博
2023-03-14

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

无论如何,您可以创建setter并使用这些方法中的设置默认值进行空检查。

 类似资料:
  • 在我的quarkus应用程序中有两个命名的数据源,我们称之为A和B: Quarkus.datasource.a.db-kind=Oracle Quarkus.datasource.b.db-kind=Oracle 因此,每次应用程序启动时,我都会收到这样的通知: 警告:无法确定默认数据源的数据库类型

  • 我知道DateTimeFormat注释可以在Spring中的模型类的日期属性上定义,但是有没有任何方法可以为Spring模型类中的所有日期定义一个默认的DateTimeFormat注释呢? @DateTimeFormat(pattern=“MM/DD/YYYY”) 私人日期DeliveryDate; 它将使我不必对每个日期字段进行注释。它还将使我更容易更改应用程序宽日期格式以后。

  • 问题内容: 有没有一种方法可以在共享首选项中设置默认值? 这是我的负载偏好代码 这是我的保存偏好代码 问题答案: 当您使用键和值设置首选项时,实际上是在提供该值。因此,这次不必使用默认值。请参见,在检索该值时,如果以前未设置该值,则可以定义一个默认值。 如果您得到strSavedMem1 =“ default”,那么肯定是默认情况,因为您没有在首选项中为MEM1设置任何其他值

  • 如何在Spring Boot中设置默认环境? 我放入了<code>application.properties</code>: 和用户变量: 因此,当我在我的合成中开发时,我的环境是开发,但是当我生成我的并在tomcat中部署时,他仍然使用带有环境的(我在另一个没有其他conv的情况下部署) 我如何设置我的默认环境(如果他在用户变量或命令行中找不到任何使用产品)?

  • 我正在使用JsonConvert。反序列化对象(json.ToString());反序列化JSON并在相关模型中填充我的字段。在JSON中缺少数据之前,这一切都很好。基本上,我将只使用“key:null”,而不是“key:value”。 我对JsonConverter的理解是,它将创建一个对象,在这个对象中,我应该能够通过构造函数(在我的情况下,由于未知原因没有调用)或通过这里提到的标记(JSON

  • 如果未设置,我希望默认活动配置文件为。 Spring-boot版本=1.3.5。发行版