模块之间的实体和DTO通信

时间:2016-08-24 11:53:08

标签: java spring-mvc code-standards

我想知道最佳做法。以下事情令人困惑: 1)model应该select new ExampleDto(...)使用serializable返回实体还是直接返回DTO? 2)我们应该如何将实体转换为DTO或反之亦然? 3)我们可以使用DTO for Entity进行DTO转换,实现json类转换{ this.state.data.map(function(item, index) { return ( <input type="checkbox" checked={item.value} onChange={this.handleChange.bind(this, index)}/> ); }.bind(this)) } 等对象吗?

请以您想要的任何方向提供您的专家意见。

1 个答案:

答案 0 :(得分:1)

许多人可能会争论在模型中返回什么。在我看来,返回dto是一种很好的做法。原因是 -

  1. 我们应该尽量避免让实体暴露出来。
  2. 很多时候,视图只需要实体的子集,因此在这种情况下返回完整的数据集并不好。
  3. 您可以考虑使用Dozer从DTO转换为Entity,反之亦然。 http://dozer.sourceforge.net/