BO< => Java中的DTO映射器

时间:2013-01-25 14:16:43

标签: java reflection dto mapper

我目前在我的应用程序中手动将DTO转换为BO(反之亦然)。然而,这种方法很笨拙。

这两个表示之间有没有好的映射器?

我的要求如下:

  • 应支持将JPA代理转换为标识符(DTO不应直接链接到其他DTO)。或者这个功能应该易于实现
  • 应基于注释,针对配置进行干预
  • 软标准:应允许将多个DTO映射到一个实体(反之亦然)

感谢您的任何建议。

3 个答案:

答案 0 :(得分:8)

关于对象映射,我建议

另外,请参阅此SO答案。它有一个或多或少完整的Java Object映射器列表:https://stackoverflow.com/a/1432956/1137735

我建议的3对我来说似乎更有吸引力。我认为它们都符合您的要求。

答案 1 :(得分:5)

嗯,我知道这个帖子有点老了,我很确定@miguelcobain的答案很棒。

Personnaly,我建议使用Orika作为运行时系统。它很强大并且在运行时使用字节代码生成,因此映射由生成的代码处理,而不是始终使用Reflection API。其他列出的库总是使用复杂的配置而不是约定。

第二个解决方案和更好的解决方案,我认为是使用Selma。这个简短的库为您完成工作,但它不是在运行时处理映射,而是使用注释处理器在编译时生成映射代码。因此编译器会引发映射错误,这是重构证明,您将能够看到生成的代码。

希望你试一试。

答案 2 :(得分:1)

我建议你试试JMapper Framework 它是一个java bean到java bean映射器,允许您使用注释和/或XML执行数据通过。 使用JMapper,您可以:
创建和丰富目标对象
将特定逻辑应用于映射
自动管理XML文件
实现1到N和N到1的关系
实施明确的转换 应用继承的配置