我有一个Java批处理作业,它使用普通JDBC使用大量联接执行大量查询。我决定将普通的JDBC代码转换为Spring 项目,该项目使用JDBCTemplate。
它纯粹是一个命令行批处理程序,没有GUI。大约有40个表,4-5个表有300+列。我不确定是为这些表创建实体类还是创建DTO pojo类?
我理解DTO类是用来解耦实体类和视图的。由于我没有GUI,而且我只处理带有联接的大量手工查询的DB,所以最好只使用实体类而不是DTO类吗?我不使用JPA,而是使用spring。
所以代码看起来就像
List<Customer> customers = jdbcTemplate.query(
sql,
new BeanPropertyRowMapper(Customer.class));在这里,客户应该是实体类还是DTO?请给我建议。
发布于 2020-11-03 10:18:00
传统的做法是:
@Repository级别使用CustomerEntity。@Service级别使用CustomerDto。在您的情况下,我更愿意使用:
CustomerEntity -如果它对应于CUSTOMERS表行。例如,List<OrderEntity>.,CustomerEntity可以有关系
聚合数据的CustomerReport).
CustomerReportDto (或者只使用CustomerReportDto)用于端点响应的
CustomerResponse。发布于 2020-11-03 10:24:49
我建议两者都用。
使用实体数据库操作,如插入,更新等。
使用DTO将数据从REST传递到Service或。为此,您需要在服务级别使用DTO到实体的转换器和实体到DTO的转换器。有时,从前端或REST中,我们将获得一些额外的信息,这些信息可能需要一些计算,而不是DB,因此在这种情况下使用DTO和实体是很好的。
https://stackoverflow.com/questions/64660305
复制相似问题