如何使用 MapStruct 为布尔字段指定默认值

Omt*_*ara 1 spring mapstruct

defaultValue使用 MapStruct 映射 DTO 时如何指定 a ?以下构造不起作用

@Mapping(target = "used", defaultValue = "0")
MyDTO toDto(MyEntity entity);

@Mapping(target = "used", defaultValue = "false")
MyDTO toDto(MyEntity entity);
Run Code Online (Sandbox Code Playgroud)

该文档显示了除布尔值以外的所有类型的示例

ati*_*h.s 6

为了能够使用defaultValue,您必须指定一个source. 如果source为空,那么它将使用defaultValue定义的。

要始终为目标分配特定值(在您的情况下为零或假),则应constant改为使用。

有关默认值和常量的更多信息

  • 使用“constant”指令对我有用。MapStruct 能够转换为指定为字符串值的实际类型。例如,如果“used”的类型是“boolean”,则它被指定为 false。``` @Mapping(target = "used",constant = "false") MyDTO toDto(MyEntity 实体); ```` (5认同)