【问题标题】:MapStruct is mapping all boolean values to falseMapStruct 将所有布尔值映射为 false
【发布时间】:2020-04-19 13:37:07
【问题描述】:

数据库有 2 个值 1 true 和 1 false。当我收到邮递员的回复时,所有值都显示为假。 DB内部将true存储为1,false存储为0。是什么导致映射为false?

Company.java

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@NotBlank
@Size(max = 60)
private String name;

@Size(max = 40)
private String vat;

@Size(max = 12)
private String contact;

private boolean defaultCompany;

公司DTO

private Long id;

@NotBlank
@Size(max = 60)
private String name;

@Size(max = 40)
private String vat;

@Size(max = 12)
private String contact;

private boolean defaultCompany;

映射器

@Mapper(componentModel = "spring")
public interface CompanyMapper
{
    CompanyDTO toCompanyDTO(Company company);
    Company toCompany(CompanyDTO companyDTO);
    List<CompanyDTO> toCompanyDTOS(List<Company> companies);
}

数据库值快照

邮递员快照

【问题讨论】:

    标签: java spring-boot dto mapstruct


    【解决方案1】:

    一切都很好。这是 IntelliJ IDEA 不生成映射的问题。这里https://github.com/mapstruct/mapstruct/issues/1690也提到了这个问题。

    要解决此问题,请删除 target 目录并重建项目,现在一切正常。

    【讨论】:

      猜你喜欢
      • 2019-07-03
      • 2017-09-07
      • 2016-07-12
      • 2016-06-24
      • 2015-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多