5

我有问题。我想创建 Document 对象,并且我想拥有一个com.google.appengine.api.users.User类型的用户属性(在 GAE 的文档网站上,他们说我们应该使用这个对象而不是电子邮件地址或其他东西,因为这个对象可能会被增强为唯一的)。但是现在这个对象不能被 GWT 编译,因为我没有那个对象的源代码。我该如何解决这个问题?

我正在搜索有关 DTO 的文档,但我意识到这可能不是我应该使用的最佳模式。

你有什么建议吗?

非常感谢您的帮助!

问候, Bálint Kriván

4

4 回答 4

3

为了避免对内部带有 com.google.appengine.api.users.User 的对象进行 DTO,您可能可以使用 http://www.resmarksystems.com/code/中的工作 他已经为核心 GAE 数据类型(键,文本、ShortBlob、Blob、链接、用户)。我已经使用 datastore.Text 对其进行了测试,并且效果很好。

于 2009-07-20T08:55:01.213 回答
2

关于是否应该能够在客户端重用来自服务器的对象存在很多争论。但是,重用在实际应用程序中很少能很好地发挥作用,因此我通常建议创建纯 Java 对象,将数据复制到其中以发送到客户端。这使您可以根据您在客户端上的需要定制数据,并避免您意外通过网络发送敏感信息的陷阱。

因此,在这种情况下,我建议您创建一个单独的对象以通过网络发送。顺便说一句,如果您有适用于 Java 的 AppEngine SDK ( http://code.google.com/appengine/downloads.html ),它包含一个我所做的演示应用程序 (sticky),它演示了这种技术。

于 2009-07-03T02:37:27.350 回答
1

这个问题也解决了这个问题:它链接到一个半可行的解决方案,用于自动使您的持久对象 gwt-rpc 兼容。

于 2009-07-06T02:57:20.280 回答
0

我有同样的问题,你的回答很有趣,但我总是很难过复制两次数据......另外,当你的 dao 获取数据时,你将不得不解析所有结果以将它们复制到纯 java 对象,不是吗?这似乎是一个沉重的操作。你对这些问题有什么看法?

于 2009-07-05T07:48:16.817 回答