VO、DTO、Entity的区别

发布时间 2023-04-19 09:51:31作者: 小年的西瓜

只能说从实际用法的一般习惯上进行区分:

1、entity 里的每一个字段,与数据库相对应,注意:entity与对应的实际数据库表的字段 没有强制要求但是一般建议保持一致(包括字段数据类型),当然,从实际使用中,entity也可以比对应的实际数据库表的字段少但是一定不能多
2、vo 里的每一个字段,是和你前台 html 页面显示 /或者导出给用户看的相关文件(比如EXCEL、word文件等)的  字段相对应;
3、dto 这是用来转换从 entity 到 vo,或者从 vo 到 entity 的中间的东西 。(DTO中拥有的字段应该是entity中或者是vo中的一个子集)
比如:业务/产品提需求 让你实现 “金额大于 20“ 的才能存入数据库,这个时候,你就要用到 dto 了,
  1)你要先从页面上拿到 vo,然后判断 vo 中的 金额 是不是大于 20。
  2)如果大于 20,就把 vo 中的 ID /name/type 等相关需要用上的属性字段 拿出来,放到 dto 中。
  3)然后在把 dto 中的 ID /name/type  原封不动的给 entity,然后根据 entity 的值,在传入数据库。