9

現在Map<String, String>、フォームに値を含む があり、key = valueそれらを実際のオブジェクトに「展開」したいと考えています。

MapStruct でそれを自動化することは可能ですか?どうすればよいですか?

明確にするために:私が手で書くコードは次のようになります:

public MyEntity mapToEntity(final Map<String, String> parameters) {
  final MyEntity result = new MyEntity();
  result.setNote(parameters.get("note"));
  result.setDate(convertStringToDate(parameters.get("date")));
  result.setCustomer(mapIdToCustomer(parameters.get("customerId")));
  // ...
  return result;
}
4

2 に答える 2

3

バージョン1.5.0.Beta1 (2021 年 7 月) 以降、MapStruct はMap から POJO へのマッピングをサポートしています。

例:

@Mapper
public interface CustomerMapper {
    @Mapping(target = "name", source = "customerName")
    Customer toCustomer(Map<String, String> map);
}
于 2021-10-21T06:03:27.203 に答える