Tag: dto

如何将持久对象映射到DTO?

如何将持久对象映射到DTO? 因此不会采取任何其他行为。 我知道这很常见也很容易,但很多人 – 很多意见,最好的方法是什么? (谈论Java) 谢谢,

来自JSON的DTO和动态密钥

我正在试图弄清楚如何为一个Spring Boot应用程序编写一个很好的DTO,它将搜索function代理到另一个(Python)服务。 所以我目前有一个近乎完美的设置。 我只是将我从Elasticsearch返回的聚合表示为Java端的对象时遇到问题。 这是当前的Aggregation DTO: package com.example.dto.search; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import java.util.List; import java.util.Map; @Getter @Setter @NoArgsConstructor public class Aggregation { private List<Map> buckets; private int docCountErrorUpperBound; private int sumOtherDocCount; } 看一下JSON表示,看起来像这样: { “aggregations”: { “categories”: { “buckets”: [ { “doc_count”: 12, “key”: “IT”, “sub_categories”: { “buckets”: [ { “doc_count”: 12, […]

Java转换类

我有一个类: Student -name -surname -address -number 我有一个DTO就像: StudentDTO -name -surname -number 我将我的学生class级发送到另一个class级,名字,姓氏和数字字段(我的意思是不是所有字段)我决定将其命名为DTO(我没有使用序列化等等,只是我将此类的对象作为参数发送任何其他类的方法)。 但是我们假设我有一行代码: getAllStudents(); 它返回: List 但我想将它分配给一个变量: List 我怎样才能轻松转换它们? PS:我不能改变我的getAllStudents(); 方法在里面。 我有学生列表,想要一种快速而精心设计的方法将对象列表转换为另一个对象列表。

Java EE DAO / DTO(数据传输对象)设计模式

目前我正在为我的工作项目使用struts2 Framework,在设计我的DAO类时,我在脑海中有一个问题需要改进设计模式。 在我的搜索function上,我有3种搜索 用一个参数搜索,另一个参数, 搜索多个参数, 搜索没有参数。 我的问题是,DAO方法的最佳方法是什么? 在我的struts2方法中,我有 public String execute() { //assuming these are passed in from JSP if (“searchByAnId”.equals(paramSearch)) { List datalist = this.someDao.implementList(theIdParam); } else if(“searchByAnOtherParam”.equals(paramSearch)) { List datalist = this.someDao.implementAnotherList(param1, param2, param3, param4) // more params } else { List datalist = this.someDao.implementListAll(); } return “success”; } 我正在阅读设计模式,如工厂方法,装饰器方法,观察者方法,但我不确定哪一个是最适合的(或其他没有第三方插件的东西)适合这个?

最佳实践 – 多层架构和DTO

在stackoverflow上阅读了一些Q / As之后,我仍然对在我的Web应用程序中正确实现DTO感到困惑。 我当前的实现是一个(基于Java EE的)多层体系结构(具有持久性,服务和表示层),但是所有层都使用“公共”包,包含(以及其他)域对象。 在这种情况下,层不能真正被认为是独立的。 我打算逐步删除常见的包,但我遇到了各种挑战/问题: 假设持久层将使用类myproject.persistence.domain.UserEntity (基于JPA的实体)来存储数据库或从数据库加载数据。 要在视图中显示数据,我将提供另一个类myproject.service.domain.User 。 我在哪里转换它们? 用户的服务是否负责在两个类之间进行转换? 这真的有助于改善耦合吗? User类应该如何? 它应该只包含不可变的getter吗? 编辑现有用户的视图(创建新用户 ,使用现有用户对象的getter等)不是很麻烦吗? 我应该使用相同的DTO类( 用户 )向服务发送请求以修改现有用户/创建新用户还是应该实现其他类? 通过使用myproject.service.domain中的所有DTO,表示层不会非常依赖于服务层吗? 如何处理我自己的例外? 我的当前方法重新抛出大多数“严重”exception,直到它们由表示层处理(通常记录它们并且用户被告知出现了问题)。 一方面我有一个问题,我再次hava共享包。 另一方面,我仍然不确定这可以被视为“最佳实践”。 有任何想法吗? 谢谢你的任何答案。

SDO(服务数据对象)应该在新项目中采用吗?

我用Delas和Midas / DataSnap一直在Delphi编程很长时间,对它非常满意。 迁移到.NET我对ADO.NET DataSet非常满意。 对于CRUD应用程序,我对任何类型的ORM都非常不舒服。 具有自动差异/增量处理function的通用数据结构让我的工作变得更好,我是一名普通的数据库应用程序开发人员。 多年前曾尝试学习Java,并没有找到类似的想法实现。 我能找到的最接近的是SDO(服务数据对象)。 当我看到它时,我认为它应该被广泛采用,但我错了。 即使规范现在相当陈旧,我仍然很难找到很多人讨论它或广泛使用它。 假设我可以在互联网上找到信息,SDO的使用是非常被动的。 想知道它是否正在死亡? 您想分享的任何SDO经验? 手动DTO编码总是更好?

如何在JSF + Spring + Hibernate中使用DTO

假设我是关于主题DTO的新手。 我无法理解将DTO与JSF,Spring和Hibernate结合使用是否正确。 让我解释一下,到目前为止,我已经使用了直接从数据库创建的实体bean,无论是在业务层还是在表示层中。 现在我决定尝试使用DTO方法,但我无法理解他们如何提供帮助。 例如,如果我有两个类User和Message,并且用户有更多关联的消息; 如何从数据库中填充DTO? 或者我是否在业务层手动填充DTO? 谁可以发布一个如何使用DTO的例子? 先谢谢你。 此致,罗伯托

POJO(Plain Old Java Object)和DTO(Data Transfer Object)有什么区别?

我找不到他们之间的区别。 有谁知道如何区分它们?