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在保存时比较方便,而方式2在保存时需要创建相应的Staff
、State对象
- 方式2在返回时可以直接返回给前端,而方式1在返回时还需要进行数据处理,毕竟取出来的只是ID值,还需要文本值(这个要怎么处理好,每条记录再根据ID从数据库中获取文本值?)
大家在设计这种id和文本分开存储的对象时是怎么处理的?有什么好的设计规范吗?
repository 返回 DO
service 返回 DTO
除去 hibernate 不说,repository更贴近数据层,不考虑充血模型,应该更简洁,一方面和数据直接对应,另一方面在微服务中不会因为互相依赖不能赋值而产生干扰。
service 构造 DTO ,用于传递