java - MapStruct 将所有布尔值映射为 false
问题描述
数据库有 2 个值 1 true 和 1 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);
}
数据库值快照
邮递员快照
解决方案
一切都很好。这是 IntelliJ IDEA 不生成映射的问题。这里也提到了这个问题https://github.com/mapstruct/mapstruct/issues/1690。
要解决此问题,请删除target
目录并重建项目,现在一切正常。
推荐阅读
- javascript - 尝试使用ajax将字符串发送到php文件
- rust - 是否可以使用 Mockall 模拟单个方法?
- c++ - 使用 Wininet 发送带有 UTF-8 特殊字符的 POST 消息
- python - ValueError:无法从 Pandas 中的重复轴重新索引
- ios - 在 UICollectionView 中选择多个单元格
- sql - SQL:从 3 条记录中获取数据并合并为一条
- c++ - 函数返回机制:临时对象、R-Value、L-Value
- javascript - 防止 API 返回的数据覆盖空输入 onFocus
- html - 使用带有excel数据的excel vba搜索网站,并在搜索结果的流程图中提取活动状态并将其映射到列中
- python - 不可散列的类型:制作字典时的“列表”