我对这两者感到很困惑。我正在看戏! java框架,它说它使用JPA。我正在考虑使用Play!和MongoDB在项目中的第一次。我之前使用过JPA,但当时我正在使用它来写入关系数据库(mysql)。
MongoDB不是关系数据库,所以如果我想在Play!中使用它,我还需要JPA吗?或者只是MongoDB驱动程序?
我觉得我在这里混淆了很多东西,所以如果有人能帮助澄清事情,我会很感激!
答案 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。
答案 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