繁体   English   中英

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

[英]JPA and DTO's, best way to create DTO's?

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

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

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

我想知道DTO架构的优点是什么:

  1. 有两个DTO的名为AdDTO ,另一个名为AdValuesDTO ,并将PostAd方法称为PostAd(AdDTO, AdValuesDTO) 〜或〜

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

     AdDTO { Set<AdValuesDTO> adValues ... 

然后将PostAd方法称为PostAd(AdDTO)

或者还有另一种选择吗?

两者都可以工作,但是使用后一种方法,您还可以使用DTO将数据服务器发送到客户端。 而且由于DTO已经很难并且维护费用昂贵,所以你真的不想像耶稣那样将它们与面包相乘。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM