[英]MapStruct is mapping all boolean values to false
數據庫有 2 個值,1 個 true 和 1 個 false。 當我收到來自 Postman 的回復時,所有值都顯示為 false。 DB 內部將 true 存儲為 1,將 false 存儲為 0。是什么導致映射為 false?
公司.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);
}
數據庫值快照
Postman 快照
一切都很好。 這是 IntelliJ IDEA 未生成映射的問題。 這里也提到了這個問題https://github.com/mapstruct/mapstruct/issues/1690 。
要解決此問題,請刪除target
目錄並重建項目,現在一切正常。
數據庫有 2 個值 1 true 和 1 false。 當我收到 Postman 的響應時,所有值都顯示為假。 DB 內部將 true 存儲為 1,將 false 存儲為 0。是什么導致映射為 false?
公司.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);
}
數據庫值快照
Postman 快照
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.