JHipster EntityMapper接口(mapstruct):映射Spring投影接口

JHipster EntityMapper接口(mapstruct):映射Spring投影接口,jhipster,projection,mapstruct,Jhipster,Projection,Mapstruct,我已经用JHipster v4.6.0 generator生成了一个新项目,我正在使用它的EntityMapper接口在域和DTO对象之间进行映射 public interface EntityMapper <D, E> { public E toEntity(D dto); public D toDto(E entity); public List <E> toEntity(List<D> dtoList); public L

我已经用JHipster v4.6.0 generator生成了一个新项目,我正在使用它的EntityMapper接口在域和DTO对象之间进行映射

public interface EntityMapper <D, E> {
    public E toEntity(D dto);
    public D toDto(E entity);
    public List <E> toEntity(List<D> dtoList);
    public List <D> toDto(List<E> entityList);
}
因此,我创建了mapper接口:

@Mapper(componentModel = "spring", uses = {})
public interface ClienteIdENomeMapper extends EntityMapper<ClienteIdENomeDTO, ClienteIdENome> {

}
@Mapper(componentModel=“spring”,使用={})
公共接口ClienteInomeMapper扩展了EntityMapper{
}
但是Eclipse向我报告EntityMapper接口中方法“public E toEntity(D dto)”的一个错误,消息如下:

没有为返回类型it.andrea.ztest01.repository.clienteName注册任何实现类型。

有什么帮助吗?
非常感谢

您的
客户名称
并不是一个真正的实体。我认为您不需要使用
EntityMapper
,但需要定义单向映射器。从
clientidenome
clientidenomedto

您的映射器需要如下所示:

public interface ClienteIdENomeMapper {
    ClienteIdENomeDTO toDto(ClienteIdENome entity);
    List <ClienteIdENomeDTO> toDto(List<ClienteIdENome> entityList);
}
公共接口客户端名称映射器{
客户命名为toDto(客户命名实体);
列表toDto(列表实体列表);
}

我不知道JHipster,所以我不能说使用不同于
EntityMapper
的映射器意味着什么,你的
客户名称实际上不是一个实体。我认为您不需要使用
EntityMapper
,但需要定义单向映射器。从
clientidenome
clientidenomedto

您的映射器需要如下所示:

public interface ClienteIdENomeMapper {
    ClienteIdENomeDTO toDto(ClienteIdENome entity);
    List <ClienteIdENomeDTO> toDto(List<ClienteIdENome> entityList);
}
公共接口客户端名称映射器{
客户命名为toDto(客户命名实体);
列表toDto(列表实体列表);
}

我不知道JHipster,所以我不能说使用不同于
EntityMapper

的映射器意味着什么,在这种情况下,为什么需要DTO?您的DTO看起来像是接口的实现。在这种情况下,为什么您需要DTO?您的DTO看起来像是接口的实现。谢谢,已解决。使用不同的映射器不是问题。JHipster使用该接口EntityMapper可以快速创建域/DTO的映射器,而无需每次定义方法toEntity/toDto:@Mapper(componentModel=“spring”,uses={})公共接口DiscussionMapper扩展EntityMapper{}谢谢,已解决。使用不同的映射器不是问题。JHipster使用该接口EntityMapper允许以快速的方式为域/DTO创建映射器,而无需每次定义方法toEntity/ToToTo:@Mapper(componentModel=“spring”,uses={})公共接口DiscussionMapper扩展EntityMapper{}
public interface ClienteIdENomeMapper {
    ClienteIdENomeDTO toDto(ClienteIdENome entity);
    List <ClienteIdENomeDTO> toDto(List<ClienteIdENome> entityList);
}