gpt4 book ai didi

java - JPA 和 DTO,创建 DTO 的最佳方式?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:02:47 27 4
gpt4 key购买 nike

我们将使用 DTO 向表示层发送数据或从表示层发送数据。

我在名为 PostAd 的服务对象上有一个方法,它发布用户输入的广告。 Ad 与另一个名为 AdValues 的对象相关联,该对象包含 Ad 的值(标题、价格、描述等)

@Entity
public class Ad {
@OneToMany
Set<AdValue> values ...
...

我想知道就 DTO 架构而言,什么更好:

  1. 有两个 DTO,一个叫 AdDTO,另一个叫 AdValuesDTO,调用 PostAd 方法作为 PostAd(AdDTO , AdValuesDTO) ~or~

  2. 有一个 AdDTO,其中包含模仿实体结构的 AdValuesDTO...这涉及在 DTO 中包含 DTO:

    AdDTO {
    Set<AdValuesDTO> adValues ...

然后 PostAd 方法被调用为 PostAd(AdDTO)

或者有其他选择吗?

最佳答案

两者都可以,但使用后一种方法,您还可以使用 DTO 将数据服务器发送到客户端。而且由于拥有 DTO 已经很难维护且成本很高,所以您真的不想像耶稣用面包那样使它们成倍增加。

因此,根据我的经验,当您使用 DTO 时,您实际上最终会拥有一个与您的实体平行的对称结构,您可以在客户端和服务器之间的两个方向上使用它。这使用了像 Dozer 这样的映射解决方案。可能,或者至少更容易(并且欢迎任何可以减少使用 DTO 痛苦的方法)。

关于java - JPA 和 DTO,创建 DTO 的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435715/

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