Objectify - 将 @Id 添加到任何类

发布于 2024-11-04 18:50:49 字数 326 浏览 5 评论 0原文

我有许多自定义对象类,供 RESTful 系统中的服务器 (GAE) 和客户端 (Android) 使用。为了便于维护,这些对象的代码在服务器和客户端之间是通用的。

为了使这些对象可以在服务器端使用 Objectify 进行存储,必须在一个字段上添加 @Id 注释。但是,如果不在客户端上导入 javax.persistence (或创建代码的单独客户端/服务器副本)(或者,对于每个对象,通过克隆创建“StorableX 扩展 X”),我就无法在每个对象类中执行此操作。

是否可以使用适配器或包装器模式通过 Objectify 动态地存储任何对象?对此的最佳实践是什么?

谢谢, ——约翰

I have many custom object classes used by both a server (GAE) and client (Android) in a RESTful system. For ease of maintainability, the code for these objects is common between server and client.

In order to make these objects storable with Objectify on the server side, one field must be annotated @Id. However, I can't do this in each object class without importing javax.persistence on the client (or creating separate client/server copies of the code) (or, for every object, creating a "StorableX extends X" with cloning).

Is it possible to use an adapter or wrapper pattern to dynamically make any object storable via Objectify? What is the best practice for this?

Thanks,
--John

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深海夜未眠 2024-11-11 18:50:49

在类路径中不存在注释接口的情况下,使用带注释的类通常不会出现问题,即使注释是运行时注释也是如此。当然,如果类字节码被检测或者某些类尝试在运行时使用注释,那就是另一回事了。

There is normally no problem using an annotated class without the annotation interface being present in the classpath, even if the annotation is a runtime one. Of course, if the class byte-code is instrumented or if some class tries using the annotation at runtime, it's another matter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文