在单个执行线程中,我需要使用DataNucleus JDO模型将某些数据对象持久保存到Google DataStore,并使用hibernate将其他几个对象保存到Cloud SQL。我已经阅读了一些帖子,说明hibernate需要删除DataNucleus jar。有没有办法让这项工作,
由于 Sreejith
答案 0 :(得分:0)
这些“少数帖子”真的提到了原因吗?还是只是一点点八卦?也许所涉及的人使用的是GAA / Datastore的古老版本,用于JPA 1.0,因此对于JPA 1有一个persistence-api.jar(它已经被JPA 2支持了好几年了,而不是谷歌已经将默认值更改为但是,但无论如何...)哪些不适用于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数据存储区一起工作。