Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DTO,如何避免它们?_Java_Architecture_Jakarta Ee_Dto - Fatal编程技术网

Java DTO,如何避免它们?

Java DTO,如何避免它们?,java,architecture,jakarta-ee,dto,Java,Architecture,Jakarta Ee,Dto,我们有一个遗留的web服务体系结构。我现在可以奢侈地使用EJB(EJB3)进行新的开发,我希望避免DTO,因为它会创建3个并行层。如果我将hibernate对象直接发送到客户机,关系会变成什么?创建分离的对象无法解决此问题,因为关联的对象可能已经从其他地方获取。序列化这样的hibernate对象将强制对整个图形进行序列化。对于复杂对象,您使用什么方法(DTO除外) 对于远程访问(远程EJB、Web服务等),我实际上更喜欢DTO。它们不包含任何(代理)主键,只包含业务键,并提供客户端视图,而实体是

我们有一个遗留的web服务体系结构。我现在可以奢侈地使用EJB(EJB3)进行新的开发,我希望避免DTO,因为它会创建3个并行层。如果我将hibernate对象直接发送到客户机,关系会变成什么?创建分离的对象无法解决此问题,因为关联的对象可能已经从其他地方获取。序列化这样的hibernate对象将强制对整个图形进行序列化。对于复杂对象,您使用什么方法(DTO除外)

对于远程访问(远程EJB、Web服务等),我实际上更喜欢DTO。它们不包含任何(代理)主键,只包含业务键,并提供客户端视图,而实体是服务的私有实体,可以根据需要进行更改。

对于远程访问(远程EJB、Web服务等),我实际上更喜欢DTO。它们不包含任何(代理)主键,只包含业务键,并提供客户端视图,而实体是服务的私有实体,可以根据需要进行更改。

您可以使用DDD聚合模式:,根据我的经验,它具有域模型+DTO的优点,因为整体被视为一个单元


我现在有了使用ejb的特权,我希望你指的是EJB3。。。因为以前的版本使用起来非常痛苦,所以您可以使用DDD聚合模式:,根据我的经验,它具有域模型+DTO的优点,因为整体被视为一个单元


我现在有了使用ejb的特权,我希望你指的是EJB3。。。因为以前的版本使用起来非常痛苦

请参见一些想法请参见一些想法当然EJB3,如果您使用的是prev版本,这是一种奢侈。是的,当然EJB3,如果您使用的是prev版本,这是一种奢侈。您如何处理(亲子)关系?DTO是否包含另一个DTO?如果你有几个这样的孩子关系呢?如果视图不需要所有的子关系怎么办?是的,当然,DTO可以根据需要形成一个对象图,并作为实体的过滤视图(省略客户端不需要的字段)。如何处理(父-子)关系?DTO是否包含另一个DTO?如果你有几个这样的孩子关系呢?如果视图不需要所有的子关系怎么办?当然,DTO可以根据需要形成一个对象图,并作为实体的过滤视图(省略客户端不需要的字段)。