1

这会是个问题吗?

我有一个遗留系统,它使用 javax.jdo API 和 XML 映射来处理从数据库中写入/读取它的对象。

我还有一些扩展这个系统的代码,这部分使用 JPA 和 Hibernate(通过注释,使用 Spring 管理的声明性事务)。

我想把它们放在同一个保护伞下,这样我就可以更好地管理交易。我想重写我的代码以使用 DataNucleus,但我想坚持使用 JPA(所以我不必更改映射等 ..)。

所以问题是:是否可以在项目的两个部分中混合 JPA 和 JDO 并跨越混合的事务?还是我必须只选择一种方法?

谢谢您的帮助。

4

2 回答 2

2

这在某些情况下实际上不起作用,基本上休眠和数据核都在持久类上使用自己生成的代理。所以在hibernate中生成的代理类在你尝试持久化时不会被数据核识别,因为它是一个代理类。

于 2012-11-02T17:37:24.910 回答
1

DataNucleus 显然允许您使用 JDO 或 JPA 注释(或同时使用 IIRC),并使用 JDO 或 JPA 使用持久性(因此 JPA 注释与 JDO PersistenceManager,反之亦然)。很可能,如果您有一个应用程序的一部分的 PM 和应用程序的另一部分的 EM,那么交易是分开的。

于 2012-10-18T12:28:01.713 回答