我正在使用Spring Data for Neo4j和MongoDB,我发现它很棒,但现在我发现了嵌入式和非嵌入式DB的东西。
这是我的情况:
我的问题:
1)我甚至不明白嵌入式与非嵌入式的含义(在同一台机器上与远程机器上相比?)
2)我是否必须更改我所做的所有工作才能使其与“非嵌入式”数据库一起使用?
我不想做的是将使用Neo4j的Spring Boot应用程序部署到Heroku或CloudFoundry,并使用Graphen(Neo4j paas)作为数据库。但是,当我看到所有关于Spring Data的故事只适用于嵌入式时,我只是失去了构建应用程序时的所有希望和快乐。
编辑: 这就是我所说的:
http://inserpio.wordpress.com/2014/04/30/extending-the-neo4j-server-with-spring-data-neo4j/
他正在添加一些自定义样板代码,以使其与非嵌入式数据库一起使用,可以吗?为什么它不能像任何其他数据库一样工作(比如JPA,你只需要指定数据库的地址)。
答案 0 :(得分:2)
inserpio在这里。请不要失去你的快乐:Spring Data Neo4j团队正在努力实施一个改进远程性能的新版本。
当Spring Data Neo4j启动时,Cypher和Neo4j-Server都不存在,而只有嵌入式版本可用。随着服务器版本的交付,SDN团队提供了一个快速的解决方案,如果你只使用存储库,效果很好,但是你想要使用@Entity就变得有点过分了。问题是将@Entity与返回的节点进行匹配。
由于新版本仍未完成,目前,您可以将持久性逻辑更紧密地移动到数据库作为服务器扩展。我在你提到的链接上解释了它。这是一个非常快速的重构:只需将您的实体和存储库移动到一个新的简单Java项目中,将生成的jar安装在'插件中。文件夹,neo4j-server.properties中的一行配置,并将您的查询公开为简单的REST服务。
希望这可以提供帮助。
如有任何进一步的问题,请随时与我联系。
干杯, 洛伦佐