具有业务对象、DTO和实体/域对象的数据转换模式



在我的Spring启动项目中,我使用hibernate,基本上我们有三种对象

  • 控制器层中使用的DTO对象
  • 业务对象-业务对象是我们在整个应用程序中使用的对象
  • 实体/域对象-用于JPA层

当我们准备保存数据时,我们将业务对象转换为域/实体对象

当我们准备好将其发送到客户端/控制器时,我们可以将实体对象转换为业务对象,然后将此业务对象转换为DTO对象。

理想情况下,我被告知将BO更改为->(DTO和实体(,反之亦然?

我们如何以有效的方式实现这一目标?有人能举些例子吗?

我喜欢在我参与的所有项目中使用Mapstruct

我最喜欢它的几个方面:

  1. 显然,您在编码转换上花费的时间更少(请查看主页上的"MapStruct in 2 Minutes"(
  2. 如果类中要转换到的属性名和要从中转换的属性名相同,那么编写的代码就更少了
  3. 它与spring集成得很好,所以您不需要声明任何bean或其他东西,只需指定它是"弹簧";组件模型
  4. 您有多种方法来映射实体——例如,创建新实体,使用DTO中的值更新现有实体
  5. 子对象也很容易映射。它有一个内部机制,试图在其他映射器中选择正确的映射器方法。或者您可以自己任意指定其名称

尽管您也可以查看ModelMapper。很像图书馆,但我自己很少用。所以不能提出任何特别的建议。

这个任务没有银弹,但您可以考虑使用模型映射器;这是一个简单的例子https://www.baeldung.com/entity-to-and-from-dto-for-a-java-spring-application

相关内容

  • 没有找到相关文章

最新更新