2016-08-24 92 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