我正在研究需要在App Engine和其他Java Application Server上运行的项目。在App Engine中,我们使用数据存储,而在其他环境中,我们将使用传统的关系数据库(主要是MySQL)。App Engine数据存储和关系数据库的便携式JDO/JPA设计
我想知道是否有可能“有一个JDO/JPA模型兼容”。
如果可能的话。怎么样?具体来说,我们如何处理密钥? Datastore要求我们使用它自己的Key对象或使用“Key as encoded string”,我们如何将这些关键字移植到关系数据库中。
如果不是,最佳做法是什么?我们现在的想法是定义抽象的DAO,并有两套DAO实现。我相信最好的方式是使用Objectify进行关系数据库的数据存储和JPA。但这样我们就无法利用GWT RequestFactory(我们正在使用的另一种技术)。或者我们可以吗?
谢谢,但我如何将“编码密钥字符串”与“单独主键”移植到关系数据库中。就像GAE指南中的例子。 – xeranic 2013-03-21 21:56:28
定义“端口”。如果GAE/Datastore中有一些数据,你打算如何处理它?手动复制?脱离并附加到RDBMS?别的东西?通过说便携式,你必须定义你的意思 – DataNucleus 2013-03-22 07:16:39
“端口”,我的意思是相同的代码库适用于不同的存储技术。例如,我定义了一个JDO Entity,为了确保它可以在GAE/Datastore上工作,我必须使用“Key as encoded string”+“单独的字符串键”,因为Entity是其他的子项。但对于RDBMS,我可以重用实体吗?或者我必须用纯String键重新定义实体。 – xeranic 2013-03-22 19:00:08