Spring Data Neo4j in Play 2x应用程序使用Scala



我目前正在开发一个由Neo4j (v2.1.2,托管在GrapheneDB上)和Play (v2.3)支持的web服务,使用Scala(2.11.1)(托管在Heroku上)

到目前为止,AnormCypher将Play应用程序与Neo4J实例连接起来,所有的事情都如预期的那样工作。

但是使用AnormCypher感觉不太对。为了将AnormCypher得到的结果转换为用于业务逻辑的Scala类,我必须编写大量的样板代码。我更喜欢使用类似于Spring Data Neo4j的东西。

示例中的代码对我来说看起来非常干净,我想在项目中尝试一下。

所有这些技术对我来说都是新的,所以我需要一些帮助:

  • 我如何在play应用程序(构建)中使用Spring Data Neo4j。sbt,插件。sbt……)?
  • 关于我不使用整个Spring堆栈的事实,我必须期望哪些困难?
  • 在Scala应用中集成Java框架有哪些缺点?

很抱歉我的回答有些不完整,但我想我应该插一句。

我认为在scala中有一些类似orm的东西的空间,我希望从结果流自动(在AnormCypher中)进行case类转换,但从来没有能够使它像.map()一样具有内部case类构造函数(并且它也不适合内部case类,以及其他一些注意事项)。我想花些精力使它更像Mongo的Salat,这样它就有更好的大小写类转换支持。

我梦想有这样的语法:

scala> Cypher("RETURN "foo" as foo, "bar" as bar")()[MyCaseClass]
res0: Stream[MyCaseClass](...)

在任何情况下,你的主要观点,一段时间后,我看到有人在蛋糕解决方案弄清楚如何让spring数据neo4j在scala中工作:http://www.cakesolutions.net/teamblogs/2012/03/29/neo4j-spring-data-scala

这篇文章有点老了,但可能会让你开始,并给你一个关于它可能有些烦人的想法。我发现@annotation语法在scala中是惟一的。

最新更新