2
我有一个RESTful系统中的服务器(GAE)和客户端(Android)都使用了很多自定义对象类。为了便于维护,这些对象的代码在服务器和客户端之间是通用的。Objectify - 将@Id添加到任何类
为了使这些对象可以在服务器端使用Objectify存储,一个字段必须注解@Id。但是,如果不在客户端导入javax.persistence(或者创建单独的客户端/服务器代码副本)(或者对于每个对象,通过克隆创建“StorableX extends X”),我无法在每个对象类中执行此操作。
是否可以使用适配器或包装模式通过Objectify动态地使任何对象可存储?最佳做法是什么?
谢谢, --John
“Id无法解析为类型”阻止构建和运行客户端。 – 2011-05-01 21:47:30
添加javax.persistence jar以构建带注释的类,但不要在运行时将其包含在客户端的类路径中。如果这些类对于服务器和客户端是通用的,那么它们应该为这两个层次编译一次,而不是两次。 – 2011-05-01 21:52:24
如果将javax.persistence.Id导入到常用注释类X中,则可以成功构建它并将其添加到服务器和客户端的类路径中。但是,当客户端尝试实例化X类型的对象时,它无法处理“import javax.persistence.Id;” – 2011-05-01 22:26:45