ORM для лифта: картопостроитель или JPA?

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

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

Напротив Картопостроителя у нас есть JPA: стандартный Java, протестированным и устойчивым ORM с доверяемыми реализациями нравится, в спящем режиме, но не совсем "scala-выход" и Вы освобождаете возможности, обеспеченные по умолчанию Картопостроителем из-за его интеграции с Лифтом.

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

Спасибо!

18
задан Joel Mueller 29 January 2010 в 21:30
поделиться

2 ответа

http://gcc.gnu.org/wiki/Visibility

Это полное руководство по экспорту в msvc и gcc.

-121--1238896-

Хотя rb_last_status (он же $? ) является глобальной переменной, Руби делает магический трюк, чтобы сделать его для каждого потока: В rb _ thread _ save _ context он сохраняет rb _ last _ status в структуре старого потока; rb _ thread _ restore _ context устанавливает rb _ last _ status из сохраненного значения. Если у вас есть гонка с участием $? , это ошибка Руби.

-121--3302962-

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

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

3
ответ дан 30 November 2019 в 09:30
поделиться

Теперь я столкнулся с той же дилеммой:) Примите во внимание, что Mapper/Record не более масштабны, чем JPA/Hibernate (например, и в Mapper, и в Record вы используете мутируемые сущности). Проверьте фрагменты Использование "неизменяемых" сущностей Scala с Hibernate и Mapping of scala's Option in Hibernate, чтобы увидеть, как Вы можете использовать Hibernate достаточно масштабируемым образом. Так что если вы уже знаете Hibernate и вам удобно с ним работать, то вам лучше пойти этим путем. В противном случае для небольшого проекта можно попробовать Mapper.

8
ответ дан 30 November 2019 в 09:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: