当前位置: 首页 > 知识库问答 >
问题:

Java中的Grails项目DTO

秦天宇
2023-03-14

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

例如,如果存在类似Person的域类。groovy DTO是像PersonDTO一样创建的。JAVA

这种行为的目的是什么?如有任何意见,将不胜感激。

共有1个答案

夏侯俊美
2023-03-14

彼得·莱德布鲁克在这篇博文中回答你的问题。

尽管如此,DTO仍然存在(请原谅双关语)。当您希望通过RPC序列化数据时,它们通常是为数不多的可用选项之一。GWT-RPC就是一个很好的例子,也是GrailsDTO插件的原因。Gilead允许透明地序列化Hibernate域实例,但这只有在客户端可以加载域类的情况下才有效。因为GORM域类通常是Groovy的,所以GWT不允许这样做。典型的Grails域类还包括客户机几乎不会感兴趣的一些东西,比如定制映射。

因此,基本上它可以是域类的轻量级版本,仅包含客户端需要的数据。

Grails的情况并非如此,它具有数据库查询的静态方法,但如果您有一个DAO类,则可以使用DTO模式来确保不允许您的客户机执行与数据库相关的方法。这有助于确保在演示层中不适当地使用此对象。

 类似资料:
  • 我在GGTS上有我的Grails项目。 我怎样才能最好地在周期性的基础上包括战争的自动(比如每周构建)构建。有插件吗?

  • grailsVersion=3.3.0有一个问题。M1和gradlewrappersion=3.0。每当我运行该项目时,我都会遇到以下错误。 |解析依赖项。请稍候。。。 配置成功 总时间: 13.543秒|运行应用程序...2017-05-29 22:08:46.634错误 --- [ 主]o.s.boot.SpringApplication :应用程序启动失败 java.lang.NoClass

  • 我正试图将一个Grails项目导入到STS中。我在运行STS 3.6.1。我还安装了Groovy插件,运行编译器1.8.6。最后,我有了Grails2.1.4。 但是,当我试图导入一个Grails项目(它是一个Subversion存储库)时,在最终放弃之前,它非常缓慢: 参见菜单窗口>>首选项>>Grails>>启动命令:C:\program files\java\jdk1.6.0_45\bin\

  • 在tomcat 7.0.57中部署应用程序时,我得到了Valiate Jar文件错误。将tomcat版本更改为8是解决此问题的唯一方法?这是我的错误日志: org.apache.catalina.loader.WebappClassLoader validateJarFile INFO: validateJarFile(/home/webapps/myapp/WEB-INF/lib/tomcat-

  • 问题内容: 什么是文件? 我想知道是否有可能使用this在Eclipse或Netbeans中导入该项目。我尝试导入该项目,但由于使用J2ME和另一个J2SE创建了一个部件,因此我遇到了一些错误,我猜想该文件应该是配置文件。 问题答案: 通常是一个蚂蚁构建脚本。 它包含构建项目以产生所需输出所必需的信息,可以是Javadocs,已编译项目或JAR文件。 我相信Eclipse具有内置的ant,因此应该

  • 我的Intellij IDEA 13.1.4 Ultimate没有使用“文件”创建新的Grails项目 我将我的项目标记为Groovy项目,然后选择Grails。我设置了一个Groovy库,指向我的Grails 2.4.3主页(我已经尝试过2.3.11和2.2.5)。我单击Next并为我的项目命名。 然后,当我完成这个过程时,Intellij窗口打开,但Grails“create-app”脚本没有