Java中的Grails Project DTO

时间:2013-05-10 08:00:06

标签: grails groovy grails-plugin

在Grails中有一个插件 compile“:dto:0.2.4”将域对象传输到DTO。使用该插件时,DTO将创建为Java类。

例如,如果存在像Person.groovy这样的Domain Class,那么DTO就像PersonDTO.java一样被创建

这种行为的意图是什么?任何评论将不胜感激。

1 个答案:

答案 0 :(得分:2)

Peter Ledbrook在this blog post回答你的问题。

  

尽管如此,DTO仍然坚持(原谅双关语)。什么时候想   通过RPC序列化数据,它们通常是为数不多的选项之一   可以使用。 GWT-RPC就是一个很好的例子,其原因就在于此   Grails DTO插件。 Gilead允许您透明地序列化   Hibernate域实例,但这只适用于域类   可以由客户端加载。由于GORM域类通常是   Groovy,这不是GWT的选择。您典型的Grails域名   课程还包括一堆客户很难去的东西   感兴趣,比如自定义映射。

因此,基本上它可以是域类的轻量级版本,只能使用客户端所需的数据。

不是Grails的情况,它有静态方法来进行数据库查询,但是如果你有DAO类,DTO模式可以用来确保不允许你的客户端执行触摸的方法数据库。这可以很好地确保在表示层中不恰当地使用此对象。