我使用Datanucleus JPA和mongodb - 没关系。但现在我需要使用地理空间查询。我知道如何使用mongo的java本机驱动程序进行查询。如何将原生mongo java驱动程序与JPA或其他更多的propper解决方案混合使用?
答案 0 :(得分:2)
DataNucleus JPA明显适用于MongoDB,因此另一个答案在这方面是错误的。
也许另一个答案意味着说JPA规范的某些部分(特别是JPQL)完全针对RDBMS,因此对于MongoDB来说可能不是最优的。但是,如果说海报还可以说JDO 针对所有类型的数据存储,并且它的查询语言将适合您的需求(并允许RDBMS的地理空间功能,可以满足你原则上的要求)。
在回答具体问题时,我并不认为DataNucleus明确支持MongoDB的地理空间功能,但它们有插件点,因此您可以轻松编写一些内容,以扩展其当前的查询机制。另一种选择是DataNucleus提供对" DB"的访问。正在使用的对象,所以你可以接受并执行你的原生查询,然后交出" DB"完成后返回DataNucleus。
答案 1 :(得分:0)
MongoDB Java驱动程序与JPA不兼容,因为JPA是为关系数据库设计的,而MongoDB是NoSQL文档数据库。
但是,您可以查看Morphia,它是一个轻量级ODM(对象文档映射器),它将Java对象转换为MongoDB文档,反之亦然。在那里也有一些对地理空间查询的支持。