Commit bf132471f33a38192eb9315e137fd7b05207b8cf
1 parent
b57104c2
Use Hutool BeanUtil for null-safe property copying in `ServiceImpl.update`.
Showing
1 changed file
with
9 additions
and
4 deletions
sl-express-ms-transport-service/src/main/java/com/sl/transport/service/impl/ServiceImpl.java
| 1 | 1 | package com.sl.transport.service.impl; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.bean.BeanUtil; | |
| 4 | +import cn.hutool.core.bean.copier.CopyOptions; | |
| 3 | 5 | import com.sl.transport.entity.node.BaseEntity; |
| 4 | 6 | import com.sl.transport.repository.BaseRepository; |
| 5 | 7 | import com.sl.transport.service.IService; |
| ... | ... | @@ -8,10 +10,11 @@ import org.springframework.stereotype.Service; |
| 8 | 10 | |
| 9 | 11 | /** |
| 10 | 12 | * 基础服务的实现 |
| 13 | + * | |
| 11 | 14 | * @param <R> |
| 12 | 15 | * @param <T> |
| 13 | 16 | */ |
| 14 | -public class ServiceImpl<R extends BaseRepository,T extends BaseEntity> implements IService<T> { | |
| 17 | +public class ServiceImpl<R extends BaseRepository, T extends BaseEntity> implements IService<T> { | |
| 15 | 18 | |
| 16 | 19 | @Autowired |
| 17 | 20 | private R repository; |
| ... | ... | @@ -28,9 +31,11 @@ public class ServiceImpl<R extends BaseRepository,T extends BaseEntity> implemen |
| 28 | 31 | |
| 29 | 32 | @Override |
| 30 | 33 | public T update(T t) { |
| 31 | -// id由neo4j自动生成 | |
| 32 | - t.setId(null); | |
| 33 | - return (T) this.repository.save(t); | |
| 34 | + T queriedByBid = queryByBid(t.getBid()); | |
| 35 | + | |
| 36 | + BeanUtil.copyProperties(t, queriedByBid, CopyOptions.create().setIgnoreNullValue(true)); | |
| 37 | + | |
| 38 | + return (T) this.repository.save(queriedByBid); | |
| 34 | 39 | } |
| 35 | 40 | |
| 36 | 41 | @Override | ... | ... |