我正与MapStruct的周期依赖问题作斗争。由于循环依赖,我一直有一个StackOverFlow错误。为了避免这种情况,我只需要排除列表中的一个属性。我发现了这个:,我深入地浏览了互联网,我惊讶地发现没有一个完整的例子显示出与MapStruct的双向DTO映射(除了使用@Context CycleAvoidingMappingContext,而不是对我起作用)。
编辑:我找到了一个解决办法,多亏了MapStruct聊天,我把它添加到中
这是我的情况,我想很常见:我有两个DTO相互引用:
public class BookDTO {
private Long id;
pri
我将MapStruct与Lombok和builder模式结合使用。我有一个问题,MapStruct正在对生成的映射器函数中的所有参数进行显式的null检查,并在所有参数都为null的情况下提前退出,例如: // Object A
@Value
@Builder(builderClassName = "Builder")
public class SourceA{
private int a;
}
// Object B
@Value
@Builder(builderClassName = "Builder")
public class SourceB
我正在使用一个库中的模型,该库有多个构造函数,并且没有一个是无参数的。因此编译失败的原因是 either declare parameterless constructor or annotate the default constructor with an annotation named @Default 但正如我所说的,我不能修改模型,因为它来自另一个库。是否有任何解决方案,以便我可以使用mapstruct来映射具有多个构造器的模型,这些构造器都不是无参数的。 版本详情 依赖关系 <dependency>
<groupId>org.mapstruct&
我的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);
大家好,
我想知道Mapstruct是否以及如何帮助映射具有双向关系的对象(在我的例子中是一对多):
public class A{
private Set<B> listB;
}
public class B{
private A a;
}
从实体映射/映射到实体会生成StackOverflowError。(我预计这会发生)。另一方面,封闭的Mapstruct问题和似乎暗示mapstruct不会直接支持它。我试过这个例子:
但这是行不通的。无论是否应用"CycleAvoidingMappingContext“,堆栈溢出错误都保持不变。
那么如何使用循环和利用
我在博客上关注MapStruct,并在一起使用这3种技术时遇到了困难。我尝试了几种来自MapStruct文档、bug报告和帖子的方法,但是在每一种情况下,我最终都会在构建过程中收到以下异常。
是否有人在夸库斯下成功地与Lombok一起使用了MapStruct?任何帮助都是非常感谢的。
奇怪的是,在一个compile之后的第一个mvn clean总是成功的,而第二个compile或者运行这个应用程序会引发这样的情况:
Error:(9,8) java: Internal error in the mapping processor: java.lang.RuntimeException:
jav
@Mapper
public interface MyMapper<X extends Base_1, Y extends Base_2>{
public X mapBase_2ToBase_1(Y obj);
}
我希望将泛型类型Y的对象映射到泛型类型X的另一个对象。用mapstruct做这种事有可能吗?还是必须为泛型映射编写自定义映射程序?当我编译上面的代码时,我会得到编译错误。
Caused by: java.lang.NullPointerException
at org.mapstruct.ap.util.SpecificCompilerWorkaroun
我需要将来自第三方API的响应映射到另一个响应结构。我使用Mapstruct来实现这一点。 ThirdParty应用编程接口类: public class TPResponse {
protected UserListsType userLists;
protected ProductOffers offers;
//getters and setters
}
public class UserListsType {
protected UserTypes userTypes;
...............
}
public class U
我正在使用Mapstruct (与lombok一起使用),而Mapstruct在调用端点(使用MapStruct将DTO映射到实体)后对应用程序进行对接时失败。
java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:435) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClas
在下面的示例中,我有一个单独的域层和一个单独的持久化层。我使用Mapstruct进行映射,在从域到实体或从实体到域的映射中,由于双向引用总是在->无限循环场景中被调用,所以我得到了StackOverflow。在这种情况下,我如何使用Mapstruct? class User {
private UserProfile userProfile;
}
class UserProfile {
private User user;
}
@Entity
class UserEntity {
@OneToOne
@PrimaryKeyJoinColumn
private Us