我目前正在开发一个由Neo4j (v2.1.2,托管在GrapheneDB上)和Play (v2.3)支持的web服务,使用Scala (2.11.1) (托管在Heroku上)。
到目前为止,AnormCypher将Play应用程序与Neo4J实例连接起来,所有事情都如预期的那样工作。
然而,使用AnormCypher感觉不太正确。我必须编写大量的锅炉板代码,才能将从AnormCypher获得的结果转换为用于业务逻辑的Scala类。我更喜欢使用类似于Spring Data Neo4j的东西。
在我看来,示例中的代码非常干净,我想在项目中尝试它。
所有这些技术对我来说都是新的,所以我需要一些帮助:
发布于 2014-07-21 22:03:32
我为一个有点不完整的回答道歉,但我想我应该插话。
我认为scala中有一些类似ORM的东西,我希望将结果流中的case类转换自动化(在AnormCypher中),但它永远不能像.map()那样具有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中工作。
这篇文章有点老了,但可能会让你开始写文章,并给你一个关于它有多烦人的想法。我发现@注释语法在scala中是统一的。
https://stackoverflow.com/questions/24873765
复制相似问题