MapStruct 不明确的构造函数

问题描述 投票:0回答:1

我在使用 MAPSTRUCT 时遇到问题。我创建了一条 id 类型为 long 的记录,在我的映射器中,我需要将此对象转换为 Long 类型,但出现以下错误。我将留下代码以使问题更清楚,抱歉,如果缺少任何信息,这是我在论坛上的第一个问题。

在创建 java.lang.Long 时发现了不明确的构造函数:Long(long)、Long(java.lang.String)。声明无参数构造函数或使用名为 @Default 的注释来注释默认构造函数。

我的代码:

IdClient.java

public record IdClient(Long id) { }

ClientEntity.java

@Table(name = "client") @Builder 

public record ClientEntity(Long idClient){} 

ClientMapper.java

@ApplicationScoped public interface ClientMapper { 

ClientEntity IdClientToClientEntity(IdClient id);

Long map(IdClient id);

}

spring-boot quarkus mapstruct java-17
1个回答
0
投票

我解决了它,

@Mapping(target = "idRelatorio", source = "id")
但我不确定这是否是最合适的方法,考虑到记录的类型是长的并且我的实体期望长。我打开这个主题是为了找出适合这种情况的最佳方法。

© www.soinside.com 2019 - 2024. All rights reserved.