Java 将对象集映射到字符串集
我是MapStruct的新手。 我有一个Word对象,它包含一个字符串值和一组自身,我想将它映射到包含一个值和一组字符串值的WordDTO。我不知道该怎么做。 正如我在评论中所说,mapstruct无法映射两个对象是有道理的,但如果有帮助,我将错误放在下面:Java 将对象集映射到字符串集,java,spring,spring-boot,spring-mvc,mapstruct,Java,Spring,Spring Boot,Spring Mvc,Mapstruct,我是MapStruct的新手。 我有一个Word对象,它包含一个字符串值和一组自身,我想将它映射到包含一个值和一组字符串值的WordDTO。我不知道该怎么做。 正如我在评论中所说,mapstruct无法映射两个对象是有道理的,但如果有帮助,我将错误放在下面: 错误:(20,13)java:无法将属性“java.util.Set同义词”映射到“java.util.Set同义词”。考虑声明/实现映射方法:“JavaUTL.SETMAP(JavaUTILSET值)”< /COD> 词类: publi
错误:(20,13)java:无法将属性“java.util.Set同义词”映射到“java.util.Set同义词”。考虑声明/实现映射方法:“JavaUTL.SETMAP(JavaUTILSET值)”< /COD>
词类:
public class Word {
private String wordValue;
private Set<Word> synonyms;
}
谢谢您的帮助。Mapstruct正在抱怨他无法将Word
转换为String
。您必须明确地告诉映射程序如何进行
以下是一个例子:
@制图员
公共接口字映射器{
WordMapper实例=Mappers.getMapper(WordMapper.class);
WordToWordToOrddTo(Word);
Word-Word-to-Word(Word-to-Word-to);
//将字符串映射到单词
@映射(source=“value”,target=“wordValue”)
单词stringToWord(字符串值)
//将单词映射到字符串
默认字符串wordToString(Word){
返回(word==null)?null:word.getWordValue();
}
}
Mapstruct抱怨他无法将Word
转换为String
。您必须明确地告诉映射程序如何进行
以下是一个例子:
@制图员
公共接口字映射器{
WordMapper实例=Mappers.getMapper(WordMapper.class);
WordToWordToOrddTo(Word);
Word-Word-to-Word(Word-to-Word-to);
//将字符串映射到单词
@映射(source=“value”,target=“wordValue”)
单词stringToWord(字符串值)
//将单词映射到字符串
默认字符串wordToString(Word){
返回(word==null)?null:word.getWordValue();
}
}
同义词.stream().map(Word::getWordValue).collect(Collectors.toSet())
怎么样?@NikolaiDmitriev MapStruct是一个代码生成器,用于在Java中创建高效、类型安全的bean到bean映射。使用mapper时会出现什么错误?@dan1st这将绝对正确。。。但由于某些原因,我希望mapstruct在编译时生成此代码。问题是我不知道应该把它放在哪里。可能类似于custome generator?@JohnMercier我们无法将对象映射到字符串。//错误//错误:(20,13)java:无法将属性“java.util.Set同义词”映射到“java.util.Set同义词”。考虑声明/实现映射方法:“JavaUTILSETMAP(JavaUTILSET值)”。关于<代码>同义词。流():map(word::GETWORDValue)。在Java中键入安全的bean-to-bean映射。使用映射器时会出现什么错误?@dan1st这将绝对正确。。。但由于某些原因,我希望mapstruct在编译时生成此代码。问题是我不知道应该把它放在哪里。可能类似于custome generator?@JohnMercier我们无法将对象映射到字符串。//错误//错误:(20,13)java:无法将属性“java.util.Set同义词”映射到“java.util.Set同义词”。考虑声明/实现映射方法:“java. UTI.SETMAP(JavaUTILSET值)”。
public class WordDTO {
private String wordValue;
private Set<String> synonyms;
}
@Mapper
public interface WordMapper {
WordMapper INSTANCE= Mappers.getMapper(WordMapper.class);
WordDTO wordToWordDTO(Word word);
Word wordDTOToWord(WordDTO wordDTO);
}