关于Entity和DTO的一些探讨

1)repository返回entity还是dto好?

2)entity中设计与数据库中表结构一样好呢?还是使用关联对象好呢?

举例:定义Entity实体
方式一:

@Entity
class Duty {

   private Long creator;  // 创建者ID
   private Integer state;  // 状态ID
   ...
}

方式二:

@Entity
class Duty {
    private Staff creator;  // 创建者对象
    private State state;  // 状态对象
}

大家觉得方式1好还是方式2?
个人认为:

  1. 方式1在保存时比较方便,而方式2在保存时需要创建相应的Staff

、State对象

  1. 方式2在返回时可以直接返回给前端,而方式1在返回时还需要进行数据处理,毕竟取出来的只是ID值,还需要文本值(这个要怎么处理好,每条记录再根据ID从数据库中获取文本值?)

大家在设计这种id和文本分开存储的对象时是怎么处理的?有什么好的设计规范吗?

阅读 4.7k
1 个回答

repository 返回 DO
service 返回 DTO
除去 hibernate 不说,repository更贴近数据层,不考虑充血模型,应该更简洁,一方面和数据直接对应,另一方面在微服务中不会因为互相依赖不能赋值而产生干扰。
service 构造 DTO ,用于传递

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题