Spring Data Neo4j в приложении Play 2.x с использованием Scala

В настоящее время я работаю над веб-службой, поддерживаемой Neo4j (v2.1.2, размещенной на GrapheneDB) и Play (v2.3), использующей Scala (2.11.1) (размещенной на Heroku).

До сих пор AnormCypher связывает приложение Play с экземпляром Neo4J, и все работает как положено.

Однако использование AnormCypher не совсем подходит. Мне нужно написать много кода, чтобы преобразовать результаты, полученные от AnormCypher, в классы Scala, которые используются для бизнес-логики. Я бы предпочел использовать что-то похожее на Spring Data Neo4j.

Код в примерах выглядит очень чисто для меня, и я хочу попробовать его в проекте.

Все эти технологии являются новыми для меня, поэтому мне нужна помощь:

  • Как я могу использовать Spring Data Neo4j в игровом приложении (build.sbt, plugin.sbt, ...)?
  • Какие трудности мне следует ожидать в связи с тем, что я не использую весь стек Spring?
  • Какие недостатки он должен интегрировать на основе Java в Scala-приложении?

1 ответ

Решение

Я прошу прощения за несколько неполный ответ, но я думал, что я вмешался.

Я думаю, что в scala есть место для ORM-подобных вещей, и я надеялся сделать автоматическое преобразование класса case из потока результатов (в AnormCypher), но так и не смог сделать его таким же производительным, как .map() с конструктором класса case внутри (а также он не работал для внутренних классов case и некоторых других предостережений). Я хотел бы приложить некоторые усилия, чтобы сделать его более похожим на Монго Салат, чтобы он имел лучшую поддержку преобразования класса дел.

Я мечтал о синтаксисе, как это:

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

В любом случае, к вашему главному замечанию, некоторое время назад я видел, как кто-то из разработчиков тортов выяснил, как заставить работать весенние данные neo4j в scala: http://www.cakesolutions.net/teamblogs/2012/03/29/neo4j-spring-data-scala

Пост немного устарел, но может помочь вам начать и дать представление о том, как он может быть несколько раздражающим. Я обнаружил, что синтаксис @annotation недопустим в scala.

Другие вопросы по тегам