【发布时间】:2018-09-19 07:14:44
【问题描述】:
我正在使用 HTTP PATCH 方法来编辑 JPA 实体。由于这是 PATCH,因此只会编辑未设置为 null 的字段。在 DTO 和实体之间仅映射非空字段的最佳方法是什么?给定的实体可能有多个字段 - 比如说 20 个或更多,所以我不想这样做:
if(dto.getFoo() != null) {
entity.setFoo(dto.getFoo);
}
这种映射有什么智能机制吗?
我正在使用springboot:1.5.6.RELEASE
【问题讨论】:
-
使用像 Dozer 这样的 bean 映射库怎么样?它遵循convention-over-configuration,但也是高度可配置的,包括跳过空值的选项(参见dozer.sourceforge.net/documentation/…)
-
谢谢@crizzis,我考虑过推土机,但也许有更聪明的解决方案。
标签: java spring-boot jpa mapping dto