Spring数据:嵌入式/非嵌入式?

时间:2014-11-05 22:20:07

标签: deployment neo4j spring-data spring-data-neo4j

我正在使用Spring Data for Neo4j和MongoDB,我发现它很棒,但现在我发现了嵌入式和非嵌入式DB的东西。

这是我的情况:

  • 将Spring Data与注释,存储库,模板一起使用,并认为我只需要更改数据库地址以使其在其他地方工作。

我的问题:

  • 1)我甚至不明白嵌入式与非嵌入式的含义(在同一台机器上与远程机器上相比?)

  • 2)我是否必须更改我所做的所有工作才能使其与“非嵌入式”数据库一起使用?

我不想做的是将使用Neo4j的Spring Boot应用程序部署到Heroku或CloudFoundry,并使用Graphen(Neo4j paas)作为数据库。但是,当我看到所有关于Spring Data的故事只适用于嵌入式时,我只是失去了构建应用程序时的所有希望和快乐。

  • 3)如果2)是,是否容易过渡?有很多事要改变吗?

编辑: 这就是我所说的:

http://inserpio.wordpress.com/2014/04/30/extending-the-neo4j-server-with-spring-data-neo4j/

他正在添加一些自定义样板代码,以使其与非嵌入式数据库一起使用,可以吗?为什么它不能像任何其他数据库一样工作(比如JPA,你只需要指定数据库的地址)。

1 个答案:

答案 0 :(得分:2)

inserpio在这里。请不要失去你的快乐:Spring Data Neo4j团队正在努力实施一个改进远程性能的新版本。

当Spring Data Neo4j启动时,Cypher和Neo4j-Server都不存在,而只有嵌入式版本可用。随着服务器版本的交付,SDN团队提供了一个快速的解决方案,如果你只使用存储库,效果很好,但是你想要使用@Entity就变得有点过分了。问题是将@Entity与返回的节点进行匹配。

由于新版本仍未完成,目前,您可以将持久性逻辑更紧密地移动到数据库作为服务器扩展。我在你提到的链接上解释了它。这是一个非常快速的重构:只需将您的实体和存储库移动到一个新的简单Java项目中,将生成的jar安装在'插件中。文件夹,neo4j-server.properties中的一行配置,并将您的查询公开为简单的REST服务。

希望这可以提供帮助。

如有任何进一步的问题,请随时与我联系。

干杯, 洛伦佐