2012-01-18 2 views
2

Я использую Scala около 6 месяцев, но просто попадаю в рамки Lift. В документах Lift упоминается, что, хотя материал Mapper по умолчанию предоставляется, можно использовать любой ORM (или аналогичный).Хороший пример использования ScalaQuery в контексте Lift?

Есть ли хорошие примеры (без ранения источника в порядке) использования альтернативного ОРМ с лифтом? Я заинтересован в использовании ScalaQuery, но я открыт для предложений. Мое единственное требование состоит в том, что lib должен поддерживать MSSQL. Из того, что я видел, это сводится к использованию JTDS JDBC-драйвера, и вы уходите на гонки.

+0

Я действительно не понимаю, что вы хотите сделать. Вы хотите использовать разные инструменты, нежели те, которые принадлежат Mapper, для выполнения некоторых запросов? –

+0

@ChrisJamesC да по большей части. Мне было просто интересно, какие проблемы возникнут, и если есть хорошее объяснение всех движущихся частей. Ответ ниже от hedefalk - это в значительной степени то, что я искал. Извините, если это было слишком расплывчато, чтобы получить конкретный ответ. –

ответ

4

Если вы хотите использовать ORM в Lift кроме Mapper, я бы предложил проверить SquerylRecord. Это должно быть хорошей отправной точкой: http://www.assembla.com/spaces/liftweb/wiki/Squeryl

Я бы не рассматривал ScalaQuery как ORM, а скорее DSL Scala для SQL-запросов. Тем не менее, я думаю, что это действительно хороший вариант, если вам не нужен ORM. Также проверьте работу с интегрированным запросом Scala: http://days2011.scala-lang.org/node/138/279. Хотя я не думаю, что он готов к производству.

+1

FWIW, я действительно не согласен с этим; ScalaQuery (IMO) превосходит Squeryl. Это может быть вопросом вкуса, но вам не нужно ничего конкретного, чтобы использовать слой базы данных с помощью Lift. – timothy

+0

Запись довольно сломанная/незавершенная, поэтому вы получаете очень мало, используя SquerylRecord. Squeryl полна произвольных ограничений и делает всевозможные плохие предположения о вашей базе данных, из-за которых очень сложно справиться. Это также делает гораздо меньше для обеспечения безопасности типов. Роллинг наших собственных объектов модели с использованием ScalaQuery был намного проще, чем пытаться бороться с ограничениями Сквайла все время. –

+0

Я закодировал несколько примеров в каждом, и я пришел к аналогичному выводу. Мне нравится синтаксис ScalaQuery, и кажется, что он немного меньше, чтобы заставить его говорить с БД. Однако SquerylRecord был информативным. –

Смежные вопросы