2013-05-10 68 views
1

在Grails中,有一個插件編譯「:dto:0.2.4」將域對象傳輸到DTO。在使用該插件時,將DTO創建爲Java類。Java中的Grails項目DTO

因爲如果有域類像Person.groovy的DTO就像PersonDTO.java

這是什麼樣的一個行爲的意圖創建一個例子嗎?任何意見,將不勝感激。

+0

爲了與Java應用程序通信,我想。我認爲有很多潛在的情況可能會有用 – 2013-05-10 09:33:57

回答

2

Peter Ledbrook在this blog post回答你的問題。

儘管如此,DTO仍然堅持(赦免雙關語)。當您想通過RPC串行化數據時,它們通常是您可以使用的少數幾個選項之一 。 GWT-RPC就是一個例子,也是Grails DTO插件的原因。 Gilead允許您透明地序列化 Hibernate域實例,但只有當客戶端可以加載域類 時纔有效。由於GORM域類通常是Groovy ,所以這不是GWT的選項。您的典型Grails域 類還包括一些客戶很難去感興趣的東西,如自定義映射。

因此,基本上它可以是您的域類的輕量級版本,僅適用於客戶端需要的數據。

不是Grails的情況下,具有靜態方法的數據庫查詢的,但如果你有一個DAO班,DTO模式可以用於確保您的客戶端將不會被允許執行觸摸數據庫的方法。這可以很好地確保在表示層中不恰當地使用這些對象。