我正在开发一个需要在 App Engine 和其他 Java 应用服务器上运行的项目。在 App Engine 中我们使用数据存储,而在其他环境中我们将使用传统的关系数据库(主要是 MySQL)。
我想知道是否有可能“拥有一个适用于两者的 JDO/JPA 模型”。
如果它是可能的。如何?具体来说,我们如何处理 Key?Datastore 要求我们使用它自己的 Key 对象或使用“Key as encoding string”,我们如何将这些键移植到关系数据库。
如果没有,最佳做法是什么?我们现在的想法是定义抽象 DAO,并有两组 DAO 实现。我相信最好的方法是将 Objectify 用于数据存储,将 JPA 用于关系数据库。但是这样我们就无法利用 GWT RequestFactory(我们正在使用的另一种技术)。或者我们可以吗?