是否有一种方法可以防止mapstruct重写我在mapper类中提供的实现的特定方法?
我在映射器类entityDTOToVehicle中提供了一个方法EntityMapper,在为该类生成映射时,mapstruct忽略了提供的实现,并用自己的实现覆盖了我的实现。
我试过做final方法,它不工作,我在@Mapping中尝试过使用qualifiedByName,它不工作
我的地图类如下所示:
public abstract class EntityMapper {
public static final EntityMapper INSTANCE = Mappers.getMappe
我正与MapStruct的周期依赖问题作斗争。由于循环依赖,我一直有一个StackOverFlow错误。为了避免这种情况,我只需要排除列表中的一个属性。我发现了这个:,我深入地浏览了互联网,我惊讶地发现没有一个完整的例子显示出与MapStruct的双向DTO映射(除了使用@Context CycleAvoidingMappingContext,而不是对我起作用)。
编辑:我找到了一个解决办法,多亏了MapStruct聊天,我把它添加到中
这是我的情况,我想很常见:我有两个DTO相互引用:
public class BookDTO {
private Long id;
pri
在我的SpringBoot应用程序中,我有两个实体User和Role
public class User {
private Long id;
private String email;
private String password;
private Set<Role> roles;
[...]
}
public class Role {
private Long id;
private String name;
private Set<User> users;
[...]
}
我的DTO看
我试图实现MapStruct映射库。我已经制作了样本,对于简单的映射,它很好,但我塞进了一个问题。我有两个jpa实体类,它们有双向关系。一个在另一个,另一个在一个。它创建循环映射问题,因此MapStruct抛出StackOverflow错误。我已经创建了最少的代码来在上再现这个案例。样本代码:
public class A {
private Long id;
private String name;
private B bData;
//getter-setter
}
public class B {
private Long id;
pri
初始情况
使用当前的1.5.0Beta 2 MapStruct版本和JDK 13。
领域模型
class Wrapper {
private Fruit fruit;
}
abstract class Fruit {
private int weight;
/* ... */
}
class Apple extends Fruit {
/* ... */
}
class Banana extends Fruit {
/* ... */
}
(相应略去1:1 DTO)
地图绘制者
包装类的Mapper
@Mapper(uses = {FruitMapp
我需要从自定义映射方法访问Spring。但是,我还需要能够在单元测试这个映射方法时注入对Spring的模拟。
下面是我的mapper类的一个最小示例:
@Mapper(componentModel = "spring")
public abstract class MyMapper {
private final MyBean myBean;
public MyMapper(MyBean myBean) {
this.myBean = myBean;
}
@BeforeMapping
protected MyE
class Item {
String oneTo
}
class Header {
String twoTo;
List <Item> items;
}
class HeaderFrom {
String oneFrom;
String twoFrom;
}
在上面的示例中,我需要使用MapStruct映射以下场景。完成这项工作的最好方法是什么?
oneFrom -> all the oneTo fields in the list
twoFrom -> twoTo
谢谢。
我想映射以下类
class Schedule {
ZoneId timezoneId;
List<AvailabilityRule> rules;
}
class AvailabilityRule {
long startEpoch;
long endEpoch;
}
去上这些课。
class ScheduleDTO {
String timezone;
List<AvailabilityRuleDTO> rules;
}
class AvailabilityRuleDTO {
ZonedDateTime star
我的Dto模型
public class CoverLetterDto{
private Long user_id;
}
我的主模型
public class CoverLetter {
private User user;
}
我的mapstruct类
@Mapping(source="user_id", target = "user")
CoverLetter CoverLetterDtotoEntityCoverLetter(CoverLetterDto dto, User user);
大家好,