Orm pour le lifting: mappeur ou JPA?
Question
Je crée une petite application pour mon entreprise en ascenseur. Je suis tout à fait un débutant à Scala / Lift, donc j'utilise cette chance de m'entraîner. Maintenant, j'ai une question sur quel système ORM utiliser.
D'une part, le mappeur est la par défaut d'ascenseur. D'un autre côté, j'ai lu que ce n'était pas bon dans certains domaines et sera remplacé par un enregistrement (qui n'est pas encore bien documenté, si difficile à suivre par un nouvel utilisateur comme moi).
En face du mappeur, nous avons JPA: Java standard, orm testé et robuste avec des implémentations de confiance comme Hibernate, mais pas tout à fait "Scala-ish" et vous perdez les capacités fournies par défaut par Mapper en raison de son intégration avec la lifting.
J'ai lu sur les listes de diffusion certaines affirmations selon lesquelles JPA devient la voie à suivre, mais cela ne semble pas une opinion répandue. Quelqu'un peut apporter de la lumière en la matière?
Merci!
La solution
Cela dépend de ce dont vous avez besoin. Si vous avez un modèle qui utilise fortement l'héritage et une / plusieurs relations, vous pourriez être mieux avec JPA.
Cependant, si vous voulez un revirement rapide, le mappeur est la voie à suivre. Mapper / Crudify est une excellente paire d'échafaudage, et cette puissance est difficile à battre.
Autres conseils
Vous pouvez mettre en œuvre la logique commerciale comme celle-ci:
- dans la base de données avec des déclencheurs (voir les autres réponses)
- Dans votre code VB avec LINQ2SQL à l'aide de méthodes partielles:
Exemple de http://msdn.microsoft.com/en-us/Bibliothèque / BB546176.ASPX
Partial Class Customer Private Sub OnAddressChanged() ' Insert business logic here. End Sub End Class