【发布时间】:2020-05-20 12:29:19
【问题描述】:
我有一个 DTO 列表作为请求体到 spring 控制器,这是一个补丁操作。 修补看起来很简单,
--> 我会遍历列表
--> 获取每个DTO
--> 获取JPA的findOne(id)方法返回的实体对象
--> 现在这里有一个问题,就是检查字段值是否不为null,然后设置为实体,否则什么都不做
--> 我不想检查每个字段的空值并将其设置为附加的实体,所以我在这里使用了ModelMapper。请找到以下代码
ModelMapper modelMapper = new ModelMapper();
modelMapper.getConfiguration().setPropertyCondition(Conditions.isNotNull());
modelMapper.map(someDO, someEntity); //someEntity is the one returned by findOne
tltMasterRepository.save(someEntity);
--> null 值的问题解决了。在将其设置为附加实体之前,我不必显式检查空值。
--> 但我现在还有一些要求。对于一些字段,我想在将其设置为附加实体之前执行一些操作并获取一些值。
例如.. someDo.username & someEntity.userID
我必须获取用户名,调用实用程序方法从用户名中获取用户 ID,然后将此用户 ID 值设置为 someEntity.userID。
同样,我还有一些字段需要在将其设置为实体之前进行一些预处理?
我能做到的最好方法是什么?
【问题讨论】:
标签: java spring-boot spring-data-jpa patch modelmapper