gpt4 book ai didi

java - 将 DTO 转换为实体,反之亦然

转载 作者:搜寻专家 更新时间:2023-10-30 19:48:59 24 4
gpt4 key购买 nike

我在我的 Web 应用程序中使用 Spring MVC 架构和 JPA。在何处手动(即不使用任何框架)将数据传输对象 (DTO) 转换为 JPA 实体,反之亦然?

最佳答案

这是一个已接受答案的老问题,但我想通过使用模型映射器 API 的简单方法来更新它。

<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>0.7.4</version>
</dependency>

使用此 API,您可以避免手动 setter 和 getter ,如已接受的答案中所述。

在我看来,这两种转换都应该在私有(private)实用方法的帮助下在 Controller 中发生,并使用 Java8 流的映射(如果交换了 DTO 集合),如 this article 中所示。 .

它应该发生在 Controller 上,因为 DTO 是专有的传输对象。我不会进一步降低我的 DTO。

您在实体上编写服务和数据访问层,并在调用服务方法之前将 DTO 转换为实体,并在从 Controller 返回响应之前将实体转换为 DTO。

我更喜欢这种方法,因为实体很少更改,并且可以根据需要从 DTO 添加/删除数据。

描述了详细的模型映射器配置和规则here

关于java - 将 DTO 转换为实体,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28703401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com