2010-01-29 8 views
18

Je crée une petite application pour mon entreprise dans Lift. Je suis un novice en Scala/Lift alors j'utilise cette chance pour m'entraîner. Maintenant, j'ai une question sur le système ORM à utiliser.ORM pour Lift: Mapper ou JPA?

D'une part, Mapper est la valeur par défaut de Lift. D'un autre côté, j'ai lu que ce n'est pas bon dans certaines régions et sera remplacé par Record (qui n'est pas encore bien documenté, donc difficile à suivre par un nouvel utilisateur comme moi). Contrairement à Mapper nous avons JPA: Java standard, ORM robuste et testé avec des implémentations approuvées 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 Lift.

J'ai lu sur les listes de diffusion quelques affirmations que JPA est en train de devenir la solution pour Lift, mais cela ne semble pas être une opinion répandue. Quelqu'un peut apporter quelque lumière dans le sujet?

Merci!

+0

ups, merci pour la correction Joel :) –

Répondre

3

Cela dépend de ce dont vous avez besoin. Si vous avez un modèle qui utilise fortement l'héritage et les relations un/plusieurs-à-plusieurs, alors vous pourriez être mieux avec JPA. Cependant, si vous voulez un délai d'exécution rapide, Mapper est la solution idéale. Mapper/Crudify sont une excellente paire d'échafaudages, et ce pouvoir est difficile à battre.

8

Maintenant, je fais face au même dilemme :) Prenez en considération que Mapper/Record ne sont pas plus scalish que JPA/Hibernate (par exemple dans Mapper et Record vous utilisez des entités mutables). Vérifiez les extraits Use of "immutable" Scala entities with Hibernate et Mapping of scala's Option in Hibernate pour voir comment vous pouvez utiliser Hibernate de manière assez scalish. Donc, si vous connaissez déjà Hibernate et à l'aise avec elle, vous feriez mieux d'y aller. Sinon, pour un petit projet, vous pouvez essayer Mapper.

Questions connexes