MapStruct 将所有布尔值映射为 false
MapStruct is mapping all boolean values to false
数据库有 2 个值,1 个为真,1 个为假。当我收到 Postman 的回复时,所有值都显示为 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);
}
数据库值快照
邮差快照
一切都很好。这是 IntelliJ IDEA 未生成映射的问题。这里也提到了这个问题https://github.com/mapstruct/mapstruct/issues/1690。
要解决此问题,请删除 target
目录并重建项目,现在一切正常。
数据库有 2 个值,1 个为真,1 个为假。当我收到 Postman 的回复时,所有值都显示为 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);
}
数据库值快照
邮差快照
一切都很好。这是 IntelliJ IDEA 未生成映射的问题。这里也提到了这个问题https://github.com/mapstruct/mapstruct/issues/1690。
要解决此问题,请删除 target
目录并重建项目,现在一切正常。