我目前正在使用Neo4j(2.11)处理由GrapheneDB(v2.1.2,托管在Play)和Scala(v2.3)支持的网络服务.1)(托管于Heroku)。
直到现在AnormCypher将Play应用程序与Neo4J实例连接起来,所有内容都按预期工作。
然而,使用AnormCypher并不是很正确。我必须编写很多样板代码来将我从AnormCypher获得的结果转换为用于业务逻辑的Scala类。我更喜欢使用与Spring Data Neo4j类似的东西。
示例中的代码看起来非常干净,我想在项目中尝试它。
所有这些技术对我来说都是新的,所以我需要一些帮助:
答案 0 :(得分:3)
我为一个有些不完整的答案道歉,但我以为我会加入。
我认为在scala中有一些类似于ORM的东西的空间,我希望自动(在AnormCypher中)从结果流中进行案例类转换,但是从来没有能够像性能为.map()
,内部有一个case类构造函数(并且它不适用于内部案例类,还有一些其他注意事项)。我很想付出一些努力让它更像Mongo的Salat,所以它有更好的案例类转换支持。
我梦想着这样的语法:
scala> Cypher("RETURN "foo" as foo, "bar" as bar")()[MyCaseClass]
res0: Stream[MyCaseClass](...)
无论如何,对于你的要点,不久前我看到有人在蛋糕解决方案中弄清楚如何让sco中的spring数据neo4j工作: http://www.cakesolutions.net/teamblogs/2012/03/29/neo4j-spring-data-scala
帖子有点旧但可能会让你开始,并让你知道它有多烦人。我发现@annotation语法在scala中是单一的。