I want to Map List < City > to List < CitySrv > in the service layer but i dont have any idea how to do that.
the City srv that i want to Map: (srv = server response value)
@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class CitySrv {
private Long id;
private String name;
private Long state;
}
the City Entity that want to map From:
@AllArgsConstructor
@NoArgsConstructor
@Entity
@SuperBuilder
@Getter
@Setter
@Table(name = "IOTP_CITY")
public class City extends BaseEntity {
@Column(name = "NAME")
private String name;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "state_id")
private State state;
@OneToMany(mappedBy = "city")
private List<Branch> branches = new ArrayList<Branch>();
}
i used Model mapper before but for some reason i cant use it anymore.
@Override
public GenericResponse<List<CitySrv>> getAllCities() throws ProjectException {
Optional<List<City>> citiiesSrvResponse = cityRepository.getAllCities();
if (citiiesSrvResponse.isPresent()) {
List<CitySrv> citiesList = modelMapper.map(citiiesSrvResponse.get(), new
TypeToken<List<CitySrv>>() {
}.getType());
return ResponseUtil.getResponse(citiesList);
} else throw new ProjectException(ExceptionStatus.NOT_FOUND);
}