我已经有了一些使用Hibernate的经验,但是,如果我没记错的话,没有办法使用它来访问像Versant的VOD这样的对象数据库。由于他们刚刚发布了一个preview with JPA support,我想知道我是否可以使用我有限的Hibernate技能在JPA中使用对象数据库。如果谁有经验,请让我知道,如果这些版本是兼容的。
最好的。
哈里
发布于 2011-12-13 22:10:12
让我先声明一下:我是Versant JPA的开发人员之一。
要使用Versant JPA,拥有基本的JPA技能就足够了。
我们提供了一个教程,在您安装了"Versant JPA“Technical Preview和所提供的Eclipse插件之后,它应该是开箱即用的。只需看看这篇文章和提供的“Versant JPA入门”手册,就可以得到它使用起来有多简单的第一印象。
我不同意DataNucleus的一些说法:是的,Versant是一个对象数据库管理系统,而不是关系数据库管理系统,因此我们忽略了任何特定于映射的东西--您的Java数据模型实际上与Versant数据库中的数据模型相同。然而,除了所有与映射相关的东西之外,JPA也是对象数据库的自然API。我不同意这种说法,即JPQL的设计与JPA设计时考虑到的RDBMS有很大的相关性。(实际上,微软已经通过将LINQ抽象到数据存储不可知的级别来证明这一点。)
Versant JPA和基于RDBMS的JPA实现之间的所有重大差异都在我们的“JPA入门”指南中的单独一章中进行了描述。最大的限制可能是我们的限制,要有一个"long“或"java.lang.Long”类型的@Id字段,这是由我们的运行时自动设置的。
我们也有一个JDO实现,但我建议尝试一下我们的Versant JPA技术预览版(正如术语“预览”所暗示的,它还没有完成功能)。
克里斯蒂安·隆伯格
发布于 2011-12-12 22:26:20
如果你使用的是对象数据库,为什么你需要Hibernate?Hibernate是一种ORM工具,它代表对象关系映射。如果您没有使用关系数据库,那么Hibernate有什么用呢?
Here's,一个声称与JPA协同工作的ODB;也许你可以改编或效仿Versant的VOD。
发布于 2011-12-12 22:48:55
您不需要在不同的软件中使用任何"Hibernate技能“;您可以使用JPA技能。它是一个标准API,因此具有相同元数据的相同类和相同的持久化代码。唯一不同的是,您可能会在persistence.xml中使用一些不同的持久性属性。
不用说,JPA只是围绕RDBMS设计的,而且各个部分(特别是JPQL)显然不适用于ODBMS,因此它不像您希望的那样适合该数据存储的API,而像JDO这样的东西会更适合( VOD也支持IIRC)……但不管怎样
https://stackoverflow.com/questions/8475741
复制相似问题