#java #automapper #extends #mapstruct #mapper
Вопрос:
Сопоставьте некоторую переменную, не назначающую DTO Сущности, Сущности или DTO. DTO расширяет базовое значение, а Сущность расширяет базовое значение. Я отлаживаю его, только расширяю отображение переменных. DTO и переменная сущности не сопоставляются, все переменные равны нулю. Автоматическое сопоставление не работает должным образом.
Сущность:
@Entity
@Data
@EqualsAndHashCode(callSuper = true)
public class Personal extends BaseEntity {
@Column(name="age")
private long age;
@Column(name="name")
private String name;
}
DTO:
@Data
@EqualsAndHashCode(callSuper = true)
public class PersonalDTO extends BaseDto {
private long age;
private String name;
}
Хранилище:
@Repository
public interface PersonalRepository extends JpaRepository<Personal, Long>, JpaSpecificationExecutor<Personal> {
}
Обслуживание:
@Service
@RequiredArgsConstructor
public class PersonalService {
private final PersonalMapper personalMapper;
private final PersonalRepository personalRepository;
public Page<PersonalDTO> find(String quickSearch, String filters, Pageable pageable) {
Page<Personal> page=personalRepository;.findAll(pageable);
return page.map(personalMapper::entityToDto);
}
public PersonalDTO save(PersonalDTO saveDto) {
Personal personal=personalMapper.dtoToEntity(saveDto);
personal=personalRepository.save(personal);
return personalMapper.entityToDto(personalRepository.save(personal));
}
}