ORM для подъема: Mapper или JPA?
Вопрос
Я создаю небольшое приложение для моей компании в лифте. Я довольно новичок в Scala/Lift, поэтому я использую этот шанс для практики. Теперь у меня есть вопрос о том, какую систему ORM использовать.
С одной стороны, Mapper - это по умолчанию подъемник. С другой стороны, я прочитал, что это не очень хорошо в определенных областях и будет заменен записи (которая еще не задокументирована, так трудно следовать новому пользователю, как я).
В противоположность Mapper у нас есть JPA: стандартная Java, протестированная и надежная ORM с доверенными реализациями, такими как Hibernate, но не совсем "Scala-ish", и вы потеряете возможности, предоставляемые по умолчанию Mapper из-за его интеграции с лифтом.
Я читал в списках рассылки некоторые утверждения о том, что JPA становится способом поднять, но это не кажется широким мнением. Кто -то может привнести свет на это?
Спасибо!
Решение
Это зависит от того, что вам нужно. Если у вас есть модель, которая сильно использует наследство и одно-много-кокое отношения, вам может быть лучше с JPA.
Однако, если вы хотите быстрого оборота, Mapper - это путь. Mapper/Crudify - отличная пара лесов, и эту силу трудно победить.
Другие советы
Вы можете реализовать бизнес-логику:
- .
- в базе данных с триггерами (см. Другие ответы)
- в коде VB с Linq2SQL с использованием частичных методов:
Пример из http://msdn.microsoft.com/en-us/Библиотека / BB546176.aspx
.Partial Class Customer Private Sub OnAddressChanged() ' Insert business logic here. End Sub End Class