首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpringJDBC模板的实体或DTO方法?

SpringJDBC模板的实体或DTO方法?
EN

Stack Overflow用户
提问于 2020-11-03 09:43:57
回答 2查看 633关注 0票数 2

我有一个Java批处理作业,它使用普通JDBC使用大量联接执行大量查询。我决定将普通的JDBC代码转换为Spring 项目,该项目使用JDBCTemplate

它纯粹是一个命令行批处理程序,没有GUI。大约有40个表,4-5个表有300+列。我不确定是为这些表创建实体类还是创建DTO pojo类?

我理解DTO类是用来解耦实体类和视图的。由于我没有GUI,而且我只处理带有联接的大量手工查询的DB,所以最好只使用实体类而不是DTO类吗?我不使用JPA,而是使用spring。

所以代码看起来就像

代码语言:javascript
复制
 List<Customer> customers = jdbcTemplate.query(
                sql,
                new BeanPropertyRowMapper(Customer.class));

在这里,客户应该是实体类还是DTO?请给我建议。

EN

回答 2

Stack Overflow用户

发布于 2020-11-03 10:18:00

传统的做法是:

  1. @Repository级别使用CustomerEntity

  1. @Service级别使用CustomerDto

在您的情况下,我更愿意使用:

  1. CustomerEntity -如果它对应于CUSTOMERS表行。例如,List<OrderEntity>.

CustomerEntity可以有关系

聚合数据的CustomerReport).

  • (选择具有多个联接的查询)可以使用CustomerReportDto (或者只使用CustomerReportDto)

用于端点响应的

  1. CustomerResponse
票数 2
EN

Stack Overflow用户

发布于 2020-11-03 10:24:49

我建议两者都用。

使用实体数据库操作,如插入,更新等。

使用DTO将数据从REST传递到Service或。为此,您需要在服务级别使用DTO到实体的转换器和实体到DTO的转换器。有时,从前端或REST中,我们将获得一些额外的信息,这些信息可能需要一些计算,而不是DB,因此在这种情况下使用DTO和实体是很好的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64660305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档