ORM для лифта: Mapper или JPA? - PullRequest
18 голосов
/ 29 января 2010

Я создаю небольшое приложение для моей компании в Lift. Я довольно новичок в Scala / Lift, поэтому я использую этот шанс на практике. Теперь у меня вопрос о том, какую систему ORM использовать.

С одной стороны, Mapper является лифтом по умолчанию. С другой стороны, я читал, что это не очень хорошо в определенных областях и будет заменено на «Запись» (которая еще недостаточно хорошо документирована, так что трудно понять нового пользователя, такого как я).

В отличие от Mapper у нас есть JPA: стандартная Java, проверенная и надежная ORM с надежными реализациями, такими как Hibernate, но не совсем "scala-ish", и вы теряете возможности, предоставляемые Mapper по умолчанию из-за его интеграции с Lift.

Я прочитал в списках рассылки некоторые утверждения, что JPA становится подходящим вариантом для Lift, но это не кажется широко распространенным мнением. Кто-нибудь может внести свет в дело?

Спасибо!

Ответы [ 2 ]

8 голосов
/ 30 января 2010

Теперь я столкнулся с той же дилеммой :) Учтите, что Mapper / Record не более Scalish, чем JPA / Hibernate (например, в Mapper и Record вы используете изменяемые сущности). Проверьте фрагменты Использование «неизменяемых» сущностей Scala с Hibernate и Отображение опции scala в Hibernate , чтобы увидеть, как вы можете использовать Hibernate в довольно скалярном виде. Так что, если вы уже знакомы с Hibernate и чувствуете себя комфортно, вам лучше пойти по этому пути. В противном случае для небольшого проекта вы можете попробовать Mapper.

3 голосов
/ 29 января 2010

Это зависит от того, что вам нужно. Если у вас есть модель, которая интенсивно использует наследование и отношения один-много-много-много, то вам лучше использовать JPA.

Однако, если вам нужен быстрый оборот, Mapper - это то, что вам нужно. Mapper / Crudify - отличная пара лесов, и эту мощь трудно превзойти.

...