2016-08-24 89 views
0

我想知道最佳实践。以下情况令人困惑: 1)model是否应该使用select new ExampleDto(...)返回实体或直接返回DTO? 2)我们应该如何将实体转换为DTO或反之亦然? 3)我们可以使用DTO进行实体到DTO的转换,实现serializable类来转换对象在json等?模块之间的实体和DTO通信

请提供您的专家意见,无论您想要的方向。

回答

1

很多人可能会争论什么样的模型返回。我认为返回dto是很好的做法。原因是 -

  1. 我们应该尽量避免暴露实体来查看。
  2. 许多次查看只需要实体的子集,所以在这种情况下返回完整的一堆数据并不好。

您可以考虑使用推土铲从DTO转换为实体,反之亦然。 http://dozer.sourceforge.net/

+0

谢谢。我在过去使用过推土机,但是它使用xml中的映射太复杂。在Java级别上有转换方法吗? – MDaniyal

+1

如果您在过去使用过xml映射。尝试使用注释重新访问它。使用注释很容易使用。对于简单的领域你几乎没有任何做。对于复杂的对象映射,只需通过扩展DozerConvertor 并使用两种方法即可使用create convertor类。 –

+0

谢谢@raza是的,我一定会再访问它:) – MDaniyal