OODB JPA 实现与 Hibernate 的区别

发布于 2024-12-20 16:55:55 字数 257 浏览 1 评论 0原文

我已经有了一些使用 Hibernate 的经验,但是,如果我是对的,那么没有办法使用它来访问像 Versant 的 VOD 这样的对象数据库。由于他们刚刚发布了 支持 JPA 的预览版,我想知道是否可以使用我有限的 Hibernate 技能来将对象数据库与 JPA 结合使用。如果有人有经验,请告诉我这些版本是否兼容。

最好的。

哈利

I already have some experience with Hibernate but, if I'm correct, there's no way to use it to access object databases like Versant's VOD. Since they just released a preview with JPA support I was wondering if I can use my limited Hibernate skills to use the object database with JPA. If anybody has experience with please let me know if these versions are compatible.

Best.

Harry

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

漫雪独思 2024-12-27 16:55:55

首先声明一下:我是 Versant JPA 的开发人员之一。

要使用 Versant JPA,具备基本的 JPA 技能就足够了。

我们提供了一个教程,安装后应该可以开箱即用
“Versant JPA”技术预览版和提供的 Eclipse 插件。只需查看此内容以及提供的“Versant JPA 入门”手册,即可获得它的易用性的第一印象。

我不同意 DataNucleus 的一些说法:
是的,Versant 是 ODBMS,而不是 RDBMS,因此我们忽略任何特定的内容
映射 - 您的 Java 数据模型实际上与 Versant 数据库中的数据模型相同。
然而,除了所有与映射相关的内容之外,JPA 也是对象数据库的天然 API。我不同意 JPQL 的设计与 JPA 的设计考虑了 RDBMS 的事实之间存在很大的相关性。
(实际上,Microsoft 已经通过将 LINQ 抽象到与数据存储无关的级别来证明了这一点。)

Versant JPA 和基于 RDBMS 的 JPA 实现之间的所有重大差异都在我们的“JPA 入门”指南的单独章节中进行了描述。
最大的一个可能是我们的限制,即具有“long”或“java.lang.Long”类型的 @Id 字段,这是由我们的运行时自动设置的。

我们也有 JDO 实现,但我建议尝试我们的 Versant JPA 技术预览版(正如术语“预览版”所暗示的那样,它的功能尚未完成)。

克里斯蒂安·隆伯格

Let me put a disclaimer first: I'm one of the developers of Versant JPA.

To work with Versant JPA it should be sufficient to have basic JPA skills.

We provide a tutorial which should run out of the box after you have installed
the "Versant JPA" Technical Preview and the supplied Eclipse plug-in. Just have a look into this and the provided "Getting Started with Versant JPA" manual to get the first impressions how easy to use it is.

I disagree with some statements from DataNucleus:
Yes, Versant is an ODBMS and not an RDBMS, thus we ignore anything which is just specific
to mapping - your Java data model is virtually the same as the data model in the Versant database.
However apart from all mapping related stuff, JPA is a natural API for an object database as well. I disagree, that there is a big correlation between the design of JPQL and the fact, that JPA was designed with RDBMS in mind.
(Actually Microsoft has proven this by abstracting LINQ to a datastore agnostic level.)

All the big differences between Versant JPA and RDBMS based JPA implementations are described in a separate chapter in our "Getting Started with JPA" guide.
The biggest one might be our restriction, to have an @Id field of type "long" or "java.lang.Long", which is automatically set by our runtime.

We do also have a JDO implementation, but I would recommend to try out our Versant JPA technical preview (as the term "preview" suggests, it is not feature complete yet).

Christian Romberg

笨笨の傻瓜 2024-12-27 16:55:55

如果您使用对象数据库,为什么需要 Hibernate? Hibernate 是一个 ORM 工具,代表对象关系映射。如果您不使用关系数据库,那么 Hibernate 有何用处?

这里是一个声称可以与 JPA 配合使用的 ODB;也许您可以适应或效仿 Versant 的 VOD。

Why would you need Hibernate if you're using an object database? Hibernate is an ORM tool, which stands for object-relational mapping. If you're not using a relational database, what's Hibernate for?

Here's an ODB that claims to work with JPA; maybe you can adapt or follow suit with Versant's VOD.

当爱已成负担 2024-12-27 16:55:55

您不会在不同的软件中使用任何“Hibernate 技能”;您使用 JPA 技能。它是一个标准 API,因此具有相同元数据和相同持久性代码的相同类。唯一不同的是,您可能在 persistence.xml 中使用一些不同的持久性属性。

不用说,JPA 仅围绕 RDBMS 设计,并且各个部分(特别是 JPQL)显然不适用于 ODBMS,因此它不像您希望为该数据存储区提供的 API 那样合适,而像 JDO 这样的 API 会更适合(VOD也支持IIRC)......但无论如何

You don't use any "Hibernate skills" with a different piece of software; you use you JPA skills. It's a standard API, hence same classes with same metadata, and same persistence code. The only thing different is you may have some different persistence properties to use in your persistence.xml.

Needless to say, JPA was designed around RDBMS only, and various parts (particularly JPQL) are clearly not as applicable to an ODBMS, hence it is not as suitable an API as you may wish to have for that datastore, and something like JDO would be more suited (which VOD also supports IIRC) ... but anyway

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文