2010-01-29 14 views
18

Estoy creando una pequeña aplicación para mi empresa en Lift. Soy bastante novato en Scala/Lift, así que aprovecho esta oportunidad para practicar. Ahora, tengo una pregunta sobre qué sistema de ORM usar.ORM for Lift: ¿Mapper o JPA?

Por un lado, Mapper es el valor predeterminado de Lift. Por otro lado, he leído que no es bueno en ciertas áreas y será reemplazado por Record (que aún no está bien documentado, es tan difícil de seguir por un nuevo usuario como yo).

Frente a Mapper tenemos JPA: estándar de Java, probado y robusto ORM con implementaciones confiables como Hibernate, pero no del todo "scala-ish" y se pierde las capacidades proporcionadas por Mapper debido a su integración con Lift.

He leído en las listas de correo algunas afirmaciones de que JPA se está convirtiendo en el camino a seguir para Lift, pero no parece una opinión generalizada. ¿Alguien puede aportar algo de luz al asunto?

Gracias!

+0

ups, gracias por la corrección Joel :) –

Respuesta

3

Depende de lo que necesite. Si tiene un modelo que utiliza en gran medida las relaciones de herencia y uno/muchos a muchos, entonces podría estar mejor con JPA.

Sin embargo, si desea un cambio rápido, Mapper es el camino a seguir. Mapper/Crudify son un gran par de andamios, y ese poder es difícil de superar.

8

Ahora estoy enfrentando el mismo dilema :) Tenga en cuenta que Mapper/Record no son más Scalish que JPA/Hibernate (por ejemplo, en Mapper y Record utiliza entidades mutables). Compruebe los fragmentos Use of "immutable" Scala entities with Hibernate y Mapping of scala's Option in Hibernate para ver cómo puede usar Hibernate de forma bastante escalada. Entonces, si ya conoces a Hibernate y te sientes cómodo con él, será mejor que vayas de esta manera. De lo contrario, para proyectos pequeños, puedes probar Mapper.