Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2007, 13:39
Avatar de Negora
Negora
 
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 20 años, 8 meses
Puntos: 5
¿Hasta qué punto son necesarios los ORMs?

Hola compañeros:

Quizá no sea el único que se ha hecho esta pregunta alguna vez. Hasta ahora jamás había recurrido a ORMs y los veía innecesarios siempre que se tuviese cierto conocimiento de SQL y del modelo de BD que se empleaba (no me importa perder tiempo en las consultas si al menos sé con un 100% de seguridad lo que hago y sus efectos).

En mi corta vida como programador sólo una vez he recurrido a un modelo así y fue uno que desarrollamos en nuestro equipo, un poco básico en comparación con esos "mastodontes" que se ven por ahí. Evidentemente nos sirvió para ciertas tareas más o menos básicas, ya que en aquellas en las que intervenían muchas tablas interrelacionadas aquello se iba de madre y había que tirar de SQL "crudo".

El caso es que andaba planteándome la posibilidad, ya que son tantas las voces que lo aconsejan, de comenzar a usar ORMs (aunque continuaría haciendo el diseño directamente en la BD y luego lo exportaría).

Supongo que evidentemente el ahorro de tiempo ha de ser significativo, ya que de hecho es su mayor valuarte según tengo entendido. Sin embargo mis dudas vienen a la hora de la velocidad/rendimiento y la fiabilidad.

En cuanto a lo primero, ¿Supera en algún caso a una consulta pura y dura? ¿No debería ser su rendimiento igual o incluso inferior por aquello de realizar más operaciones/construcciones internas?

En cuanto a lo segundo, sin haber probado productos punteros como Hibernate pero sí otros más "simples" en otros lenguajes, he encontrado varios problemas al generar objetos a partir de una BD: relaciones mal reconstruidas, tipos incoherentes... ¿Se supone que un ORM tiene más "poderío" cuando se diseña la BD primero en él y luego se reconstruye nativamente? ¿Es imposible mapear una BD compleja ya creada con 100% de fiabilidad a un ORM?

Muchas gracias por vuestras opiniones.