使用MongoDB时是否需要JPA?

时间:2011-05-14 13:22:22

标签: java jpa mongodb playframework

我对这两者感到很困惑。我正在看戏! java框架,它说它使用JPA。我正在考虑使用Play!和MongoDB在项目中的第一次。我之前使用过JPA,但当时我正在使用它来写入关系数据库(mysql)。

MongoDB不是关系数据库,所以如果我想在Play!中使用它,我还需要JPA吗?或者只是MongoDB驱动程序?

我觉得我在这里混淆了很多东西,所以如果有人能帮助澄清事情,我会很感激!

6 个答案:

答案 0 :(得分:14)

我认为Play支持JPA,但不需要JPA。您可以完全忘记JPA并使用任何您喜欢的MongoDB API(其原生API,Brendan对Morphia的建议等)。

答案 1 :(得分:9)

由于MongoDB不是关系数据库,因此它不支持JPA。

然而,Morphia是MongoDB + Java的对象文档映射器,它非常接近模拟JPA模型,但使用了MongoDB相应的语义。众所周知,它可以与Play配合使用,如果你想要这种对象映射,那将是一个很好的模拟。

答案 2 :(得分:4)

DataNucleus已经支持MongoDB,JPA和JDO,Java中的标准化API。有了它,你可以使用其他API

答案 3 :(得分:3)

EclipseLink正计划从JPA支持MongoDB。

请参阅, http://wiki.eclipse.org/EclipseLink/DesignDocs/362899

答案 4 :(得分:2)

Hibernate OGM为MongoDB提供JPA。 MongoDB大学有一个Java开发人员课程,也许它可以帮助你理解你想要做什么。

答案 5 :(得分:1)

仅在编程MongoDB时不需要JPA。但是如果您之前使用过JPA,那么您应该考虑使用PlayMorphia模块,因为它的API经过精心设计,使JPA程序员感觉像在家编程一样。再次PlayMorphia不是JPA实现,它看起来就像它。

http://www.playframework.org/modules/morphia查看。还有最新版本的documentation