-1

请告知我从分析中得出的 DTO 模式是什么是数据传输对象模式,您能否在 Hibernate 或任何其他 java 示例中提供任何关于它的示例,谢谢

4

1 回答 1

3

DTO 是在 EJB 2.1(统称为 Sun 蓝图目录)中发现的可怕持久性的解决方法之一。它用于从实体 bean 中提取数据并将其传递给数据层。来自该层的数据放置在 DTO 中并放入实体 bean。这仅适用于 bean 管理的持久性。

这就是 DTO 的正式含义。今天,您在将数据从后端传输到前端(在客户端-服务器架构中)时也会发现这一点。

如果您想在 Hibernate 中使用它,请创建一个查询/条件来选择您需要的列,然后使用AliasToBeanResultTransformer在 DTO 中设置这些列。Hibernate 文档中的一个示例

List resultWithAliasedBean = 
    s.createCriteria(Enrolment.class)
        .createAlias("student", "st")
        .createAlias("course", "co")
        .setProjection(
            Projections.projectionList()
                add( Projections.property("co.description"), "courseDescription" )
        )
        .setResultTransformer( new AliasToBeanResultTransformer(StudentDTO.class) )
    .list();

StudentDTO dto = (StudentDTO)resultWithAliasedBean.get(0);
于 2012-07-31T17:20:51.103 回答