Java Can';T映射属性,考虑声明/实现映射方法

Java Can';T映射属性,考虑声明/实现映射方法,java,spring,mapstruct,Java,Spring,Mapstruct,当我试图编译我的应用程序时,它向我显示了这个错误,整个应用程序都是用Jhipster生成的 详细说明错误:[Error]/C:/Users/user/Desktop/Devs/CURTIPIELES/curti back/src/main/java/com/CURTIPIELES/app/service/mapper/LeatherMapper.java:[21,16]无法将属性“com.CURTIPIELES.app.domain.Usage leather.Usage”映射到“java.la

当我试图编译我的应用程序时,它向我显示了这个错误,整个应用程序都是用Jhipster生成的

详细说明错误:[Error]/C:/Users/user/Desktop/Devs/CURTIPIELES/curti back/src/main/java/com/CURTIPIELES/app/service/mapper/LeatherMapper.java:[21,16]无法将属性“com.CURTIPIELES.app.domain.Usage leather.Usage”映射到“java.lang.String.usageName”。考虑声明/实现映射方法:“java. Lang.Stand map(COM.CuriPiel.App.DoMay.UpValue value)”.< /P> 错误

这是我的LeatherMapper:

@Mapper(componentModel=“spring”,使用={LeatherFamilyMapper.class,leatherhasgolormapper.class,leatherhausagemapper.class})
公共接口LeatherMapper扩展了EntityMapper{
@映射(source=“family.id”,target=“familyId”)
@映射(source=“family.name”,target=“familyName”)
@映射(source=“color.id”,target=“colorId”)
@映射(source=“color.id”,target=“colorName”)
@映射(source=“usage.id”,target=“usageId”)
@映射(source=“usage.usage”,target=“usageName”)
皮革到托托(皮革);
@映射(source=“familyId”,target=“family”)
@映射(source=“colorId”,target=“color”)
@映射(source=“usageId”,target=“usage”)
皮革到实体(皮革到皮革);
默认皮革fromId(长id){
if(id==null){
返回null;
}
皮革=新皮革();
皮革;
返回皮革;
}
}
这是我的底稿(我不会放上接球手和接球手,以免把问题拖得太长)

public类leatherdt实现可序列化{
私人长id;
私有字符串imageUrl;
私有字符串名称;
私有字符串描述;
私有布尔状态;
私人即时创作;
私有布尔值是新的;
私人长辈;
私有字符串familyName;
私人长彩色;
私有字符串colorName;
私人长期使用费;
私有字符串usageName;
这是我的皮革课:

@实体
@表(名称=“皮革”)
@缓存(用法=CacheConcurrencyStrategy.READ\u WRITE)
可序列化的公共类皮革工具{
私有静态最终长serialVersionUID=1L;
@身份证
@GeneratedValue(策略=GenerationType.SEQUENCE,生成器=
“序列发生器”)
@SequenceGenerator(name=“SequenceGenerator”)
私人长id;
@列(name=“image\u url”)
私有字符串imageUrl;
@列(name=“name”)
私有字符串名称;
@列(name=“description”)
私有字符串描述;
@列(name=“status”)
私有布尔状态;
@列(name=“创建日期”)
私人即时创作;
@列(name=“是新的”)
私有布尔值是新的;
@许多酮
@JsonIgnoreProperties(value=“leathers”,allowSetters=true)
私人皮革家庭;
@许多酮
@JsonIgnoreProperties(value=“leathers”,allowSetters=true)
私人皮革颜色;
@许多酮
@JsonIgnoreProperties(value=“leathers”,allowSetters=true)
私人皮革的用途;
这是我的LeatherHasUsage类:

@实体
@表(name=“leather\u has\u usage”)
@缓存(用法=CacheConcurrencyStrategy.READ\u WRITE)
公共类LeatherHasUsage实现可序列化{
私有静态最终长serialVersionUID=1L;
@身份证
@GeneratedValue(策略=GenerationType.SEQUENCE,生成器=
“序列发生器”)
@SequenceGenerator(name=“SequenceGenerator”)
私人长id;
@列(name=“status”)
私有布尔状态;
@许多酮
@JsonIgnoreProperties(value=“leatherhausages”,allowSetters=true)
私人使用;
//jhipster实体添加字段-jhipster将在此处添加字段
公共长getId(){
返回id;
}
公共无效集合id(长id){
this.id=id;
}
公共布尔值isStatus(){
返回状态;
}
公共LeatherHasUsage状态(布尔状态){
这个状态=状态;
归还这个;
}
这是我的LeatherHasColor课程:

@实体
@表(name=“皮革颜色”)
@缓存(用法=CacheConcurrencyStrategy.READ\u WRITE)
公共类LeatherHasColor实现可序列化{
私有静态最终长serialVersionUID=1L;
@身份证
@GeneratedValue(策略=GenerationType.SEQUENCE,generator=“sequenceGenerator”)
@SequenceGenerator(name=“SequenceGenerator”)
私人长id;
@列(name=“status”)
私有布尔状态;
@许多酮
@JsonIgnoreProperties(value=“LeatherhasColor”,allowSetters=true)
私人色彩;
这是我的皮革家庭课

@实体
@表(name=“leather\u系列”)
@缓存(用法=CacheConcurrencyStrategy.READ\u WRITE)
公共类LeatherFamily实现了可序列化{
私有静态最终长serialVersionUID=1L;
@身份证
@GeneratedValue(策略=GenerationType.SEQUENCE,生成器=
“序列发生器”)
@SequenceGenerator(name=“SequenceGenerator”)
私人长id;
@列(name=“image\u url”)
私有字符串imageUrl;
@列(name=“name”)
私有字符串名称;
@列(name=“description”)
私有字符串描述;
@列(name=“status”)
私有布尔状态;
@列(name=“是新的”)
私有布尔值是新的;
@列(name=“创建日期”)
私人即时创作;

这就是问题的解决方案

您将“usage.usage”更改为“usage.usage.usage”,并且可能还将“usage.id”更改为“usage.usage.id”,因为您似乎忘记了您有一个额外级别的对象,并且对颜色进行了类似的更改,您的代码应该都是固定的。-


您希望如何将
usage.usage
(type
usage
)映射到
usageName
(type