2013-05-10 71 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模式可以用于确保您的客户端将不会被允许执行触摸数据库的方法。这可以很好地确保在表示层中不恰当地使用这些对象。