我是Spring和Mapstruct的新手,我不确定这是否是正确的问题,但我有以下用例我真的需要帮助: JSON Tables
这是典型的双向多对一用例,添加了字段。
Json_object和json_attribute都使用MapStruct进行映射。 我在JsonMapping实体上使用@EmbeddedId。 如果我手动编写JsonMappingMapper,我可以让它工作,但我无处可寻找任何关于在MapStruct中映射复合键的内容。
我需要弄清楚如何让MapStruct生成以下代码,以便能够在json_mapping表上保存更改:
public JsonMapping dtoToEntity(JsonObject jsonObject, JsonMappingDto dto) {
JsonMappingId id = new JsonMappingId(jsonObject.getJsonObjectId(),
dto.getJsonAttribute().getJsonAttrId());
JsonMapping entity = jsonMappingRepository.findOne(id);
if (entity == null) {
entity = new JsonMapping();
}
entity.setId(new JsonMappingId(jsonObject.getJsonObjectId(),
dto.getJsonAttribute().getJsonAttrId()));
entity.setJsonAttribute(jsonAttributeMapper.dtoToEntity(dto.getJsonAttribute()));
entity.setJsonObject(jsonObject);
return entity;
}