2010-01-29 4 views
18

Ich erstelle eine kleine Anwendung für meine Firma in Lift. Ich bin ein ziemlich Neuling in Scala/Lift, also nutze ich diese Chance um zu üben. Jetzt habe ich eine Frage, welches ORM-System zu verwenden ist.ORM für Lift: Mapper oder JPA?

Auf der einen Seite ist Mapper der Standard Lift. Auf der anderen Seite habe ich gelesen, dass es in bestimmten Bereichen nicht gut ist und durch Record ersetzt wird (was noch nicht gut dokumentiert ist, so schwer von einem neuen Benutzer wie mir zu folgen).

Gegenüber von Mapper haben wir JPA: Standard-Java, getestet und robust ORM mit vertrauenswürdigen Implementierungen wie Hibernate, aber nicht ganz "scala-ish" und Sie verlieren die standardmäßig von Mapper aufgrund seiner Integration mit Lift bereitgestellten Funktionen.

Ich habe auf den Mailinglisten einige Behauptungen gelesen, dass JPA der Weg für Lift ist, aber es scheint keine weit verbreitete Meinung zu sein. Jemand kann etwas Licht in die Sache bringen?

Danke!

+0

ups, danke für die Korrektur Joel :) –

Antwort

3

Es hängt davon ab, was Sie brauchen. Wenn Sie ein Modell verwenden, das stark Vererbung und eine/viele-zu-viele-Beziehungen verwendet, ist JPA möglicherweise besser geeignet.

Wenn Sie jedoch einen schnellen Turnaround wünschen, ist Mapper der richtige Weg. Mapper/Cruudify sind ein großartiges Gerüstpaar, und diese Kraft ist schwer zu schlagen.

8

Jetzt habe ich das gleiche Dilemma :) Beachten Sie, dass Mapper/Record nicht mehr Scalish dann JPA/Hibernate sind (z. B. in Mapper und Record verwenden Sie veränderbare Entitäten). Schauen Sie sich die Snippets Use of "immutable" Scala entities with Hibernate und Mapping of scala's Option in Hibernate an, um zu sehen, wie Sie Hibernate in einer ziemlich skalaren Art verwenden können. Wenn Sie also Hibernate bereits kennen und sich damit auskennen, sollten Sie besser diesen Weg gehen. Ansonsten können Sie für kleines Projekt Mapper ausprobieren.

Verwandte Themen