【发布时间】:2014-01-24 17:36:27
【问题描述】:
在单个执行线程中,我需要使用 DataNucleus JDO 模型将某些数据对象保存到 Google DataStore,并使用休眠将其他少数对象保存到 Cloud SQL。我读过几篇文章说休眠需要删除 DataNucleus jar。有什么办法可以使这项工作,
谢谢 斯里吉斯
【问题讨论】:
标签: hibernate google-app-engine datanucleus
在单个执行线程中,我需要使用 DataNucleus JDO 模型将某些数据对象保存到 Google DataStore,并使用休眠将其他少数对象保存到 Cloud SQL。我读过几篇文章说休眠需要删除 DataNucleus jar。有什么办法可以使这项工作,
谢谢 斯里吉斯
【问题讨论】:
标签: hibernate google-app-engine datanucleus
这些“很少的帖子”真的提到了一个原因吗?还是只是八卦?就像所涉及的人可能正在使用适用于 JPA 1.0 的古老版本的 GAE/Datastore,所以有一个适用于 JPA 1 的 persistence-api.jar(JPA 2 已经支持它好几年了,并不是说 Google 已将默认设置更改为还没有,但无论如何......)哪个不适用于Hibernate JPA(可能需要v2.0)?那是纯粹的猜测。回答这个问题的唯一方法是你陈述事实。
如果您有 DataNucleus JDO,那么您不需要 CLASSPATH 中的“datanucleus-api-jpa”,因此 CLASSPATH 中唯一的 JPA impl 是 Hibernate,因此永远不会调用 DataNucleus 代码。
即使您同时在 CLASSPATH 中有 DataNucleus JPA 和 Hibernate JPA,这也是 persistence.xml 中“persistence-provider”元素的用途,告诉 JPA“Persistence”类要使用哪个提供程序。
显然,DataNucleus JPA 也是一个兼容的 JPA (2.1) 实现,因此它本身可以与 RDBMS 数据存储完美配合。
【讨论】: