SlideShare uma empresa Scribd logo
1 de 6
 ORM es el mapeo objeto-relacional. Consiste en una técnica de programación
para convertir datos entre el lenguaje de programación orientado a objetos
utilizado y el sistema de base de datos relacional utilizado en el desarrollo de
aplicaciones.
 Esto posibilita el uso de las características propias de la orientación a objetos
(básicamente herencia y polimorfismo). Hay paquetes comerciales y de uso libre
disponibles que desarrollan el mapeo relacional de objetos, aunque algunos
programadores prefieren crear sus propias herramientas ORM.
 Entre estos paquetes comerciales tenemos una lista de los principales motores
de mapeo objeto relacional, tales como:
ColdFusion, Common Lisp, Java, JavaScript, .NET, Perl, PHP, Python, Ruby,
Smalltalk, C++.
 El problema que surge, porque hoy en día prácticamente todas las aplicaciones
están diseñadas para usar la Programación Orientación a Objetos (POO),
mientras que las bases de datos más extendidas son del tipo relacional y estas
solo permiten guardar tipos de datos primitivos (enteros, cadenas de texto) por
lo que no se puede guardar de forma directa los objetos de la aplicación en las
tablas, sino que estos se deben de convertir antes en registros, que por lo
general afectan a varias tablas. En el momento de volver a recuperar los datos,
hay que hacer el proceso contrario, se deben convertir los registros en objetos.
 En este punto es que se muestra la importancia del ORM, ya que este se
encarga de forma automática, de convertir los objetos en registros y viceversa,
simulando así tener una base de datos orientada a objetos.
EL PROBLEMA
VENTAJAS DEL ORM
 Rapidez en el desarrollo.
 Abstracción de la base de datos.
 Reutilización.
 seguridad.
 Mantenimiento del código.
 lenguaje propio para realizar las consultas.
DESVENTAJAS
 Tiempo utilizado en el aprendizaje. Este tipo de herramientas suelen ser
complejas por lo que su correcta utilización lleva un tiempo que hay que emplear
en ver el funcionamiento correcto y ver todo el partido que se le puede sacar.
 Aplicaciones algo más lentas. Esto es debido a que todas las consultas que
se hagan sobre la base de datos, el sistema primero deberá de transformarlas al
lenguaje propio de la herramienta, luego leer los registros y por último crear los
objetos.
 por último se nombrara algunos framework que nos devuelven el
mapeo objeto-relacional, según el lenguaje que estemos utilizando :
 Doctrine
 Propel
 Hibernate
 LINQ

Mais conteúdo relacionado

Mais procurados

Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos Roberto Encarnación
 
Administracion de usuarios y grupos
Administracion de usuarios y gruposAdministracion de usuarios y grupos
Administracion de usuarios y gruposJACKELIN SORALUZ
 
Bases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasBases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasJuan Anaya
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de MemoriaLuis Eraso
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuenciastill01
 
Presentación de logs
Presentación de logsPresentación de logs
Presentación de logsMatías Leal
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datosalexmerono
 
Capacidad de la cpu
Capacidad de la cpuCapacidad de la cpu
Capacidad de la cpuAnaKarina114
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalJosé Antonio Sandoval Acosta
 
Conceptos de bases de datos
Conceptos de bases de datosConceptos de bases de datos
Conceptos de bases de datosJesús Tramullas
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colaslabarra90
 
Seguridad en los sistemas de archivos
Seguridad en los sistemas de archivosSeguridad en los sistemas de archivos
Seguridad en los sistemas de archivosANDRES SALAZAR
 
Elaboración del proyecto de la instalación de una red de datos
Elaboración del proyecto de la instalación de una red de datosElaboración del proyecto de la instalación de una red de datos
Elaboración del proyecto de la instalación de una red de datosAngel Cisneros
 

Mais procurados (18)

Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos Unidad 4 Interoperabilidad entre sistemas operativos
Unidad 4 Interoperabilidad entre sistemas operativos
 
Modelos Lógicos Basados en Objetos
Modelos Lógicos Basados en ObjetosModelos Lógicos Basados en Objetos
Modelos Lógicos Basados en Objetos
 
Administracion de usuarios y grupos
Administracion de usuarios y gruposAdministracion de usuarios y grupos
Administracion de usuarios y grupos
 
Bases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneasBases de datos distribuidas heterogéneas
Bases de datos distribuidas heterogéneas
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuencia
 
Presentación de logs
Presentación de logsPresentación de logs
Presentación de logs
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datos
 
MongoDB
MongoDBMongoDB
MongoDB
 
Capacidad de la cpu
Capacidad de la cpuCapacidad de la cpu
Capacidad de la cpu
 
Fundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacionalFundamentos de BD - Unidad 4 diseño de bd relacional
Fundamentos de BD - Unidad 4 diseño de bd relacional
 
Estrategias de busqueda
Estrategias de busquedaEstrategias de busqueda
Estrategias de busqueda
 
Uso de hilos
Uso de hilosUso de hilos
Uso de hilos
 
Conceptos de bases de datos
Conceptos de bases de datosConceptos de bases de datos
Conceptos de bases de datos
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
TOPOLOGÍA DE REDES
TOPOLOGÍA DE REDESTOPOLOGÍA DE REDES
TOPOLOGÍA DE REDES
 
Seguridad en los sistemas de archivos
Seguridad en los sistemas de archivosSeguridad en los sistemas de archivos
Seguridad en los sistemas de archivos
 
Elaboración del proyecto de la instalación de una red de datos
Elaboración del proyecto de la instalación de una red de datosElaboración del proyecto de la instalación de una red de datos
Elaboración del proyecto de la instalación de una red de datos
 

Destaque

Base de datos orientado a objetos
Base de datos orientado a objetosBase de datos orientado a objetos
Base de datos orientado a objetosManceragonzalez
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesmarvin8826
 
Mapeo objeto relacional
Mapeo objeto relacionalMapeo objeto relacional
Mapeo objeto relacionalIsabelAlisson
 
Constructores de Tipo de una BDOO
Constructores de Tipo de una BDOOConstructores de Tipo de una BDOO
Constructores de Tipo de una BDOOLaura
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesMicael Gallego
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSmigmorbus1
 
Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosarmin tilano
 

Destaque (12)

Base de datos orientado a objetos
Base de datos orientado a objetosBase de datos orientado a objetos
Base de datos orientado a objetos
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Mapeo objeto relacional
Mapeo objeto relacionalMapeo objeto relacional
Mapeo objeto relacional
 
Constructores de Tipo de una BDOO
Constructores de Tipo de una BDOOConstructores de Tipo de una BDOO
Constructores de Tipo de una BDOO
 
Diagrama de uml
Diagrama de umlDiagrama de uml
Diagrama de uml
 
Bdoo
BdooBdoo
Bdoo
 
Diagrama de Clases y de BD
Diagrama de Clases y de BDDiagrama de Clases y de BD
Diagrama de Clases y de BD
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicaciones
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOS
 
Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetos
 

Semelhante a Mapeo de objeto relacional

Mapeo de objeto relacional
Mapeo de objeto relacionalMapeo de objeto relacional
Mapeo de objeto relacionalInspirate Unaula
 
MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL Poro Punk
 
presentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxpresentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxssuser948499
 
Introducción a ORMs
Introducción a ORMsIntroducción a ORMs
Introducción a ORMsmaxfontana90
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSJonathan Hidalgo Nolasco
 
LIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBM
LIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBMLIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBM
LIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBMHéctor Curbelo Barrios
 
Elian examen-info-
Elian examen-info-Elian examen-info-
Elian examen-info-elian rivas
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradawinny_arias
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructuradaKurt_williams
 
POOI- Unidad 1.pdf
POOI- Unidad 1.pdfPOOI- Unidad 1.pdf
POOI- Unidad 1.pdfWillGuzman3
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaglfloresgilberto
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionGinger Mega Red
 
Plataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webPlataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webFreelance
 
Lenguajes de programacion orientada a objetos
Lenguajes de programacion orientada a objetosLenguajes de programacion orientada a objetos
Lenguajes de programacion orientada a objetosRicardoAlbertoSalmor
 

Semelhante a Mapeo de objeto relacional (20)

Mapeo de objeto relacional
Mapeo de objeto relacionalMapeo de objeto relacional
Mapeo de objeto relacional
 
MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL MAPEO OBJETO RELACIONAL
MAPEO OBJETO RELACIONAL
 
Orm final
Orm finalOrm final
Orm final
 
presentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptxpresentacinorm-150325230016-conversion-gate01.pptx
presentacinorm-150325230016-conversion-gate01.pptx
 
Introducción a ORMs
Introducción a ORMsIntroducción a ORMs
Introducción a ORMs
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
 
Conceptos de hibernate
Conceptos de hibernateConceptos de hibernate
Conceptos de hibernate
 
LIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBM
LIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBMLIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBM
LIBRERIA iDBMAP PARA BASE DE DATOS DB2 EN LOS OS/400 de IBM
 
Nhibernate
NhibernateNhibernate
Nhibernate
 
Elian examen-info-
Elian examen-info-Elian examen-info-
Elian examen-info-
 
Tarea 5. investigacion
Tarea 5. investigacionTarea 5. investigacion
Tarea 5. investigacion
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programacin estructurada
Programacin estructuradaProgramacin estructurada
Programacin estructurada
 
POOI- Unidad 1.pdf
POOI- Unidad 1.pdfPOOI- Unidad 1.pdf
POOI- Unidad 1.pdf
 
Bdoo
BdooBdoo
Bdoo
 
Trabajo bdoo
Trabajo bdooTrabajo bdoo
Trabajo bdoo
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Plataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webPlataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones web
 
Lenguajes de programacion orientada a objetos
Lenguajes de programacion orientada a objetosLenguajes de programacion orientada a objetos
Lenguajes de programacion orientada a objetos
 

Mais de Inspirate Unaula (13)

Linq
LinqLinq
Linq
 
Bases de datos de grafos
Bases de datos de grafosBases de datos de grafos
Bases de datos de grafos
 
Bases de datos embebidas
Bases de datos embebidasBases de datos embebidas
Bases de datos embebidas
 
Jdbc
JdbcJdbc
Jdbc
 
Odbc
OdbcOdbc
Odbc
 
Odbc
OdbcOdbc
Odbc
 
Jdbc
JdbcJdbc
Jdbc
 
Discos de estado solido
Discos de estado solidoDiscos de estado solido
Discos de estado solido
 
Articulo redes san y nas
Articulo redes san y nasArticulo redes san y nas
Articulo redes san y nas
 
Linq
LinqLinq
Linq
 
Bases multimedia
Bases multimediaBases multimedia
Bases multimedia
 
Bases de datos embebidas
Bases de datos embebidasBases de datos embebidas
Bases de datos embebidas
 
Bases de datos de grafos
Bases de datos de grafosBases de datos de grafos
Bases de datos de grafos
 

Último

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (10)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

Mapeo de objeto relacional

  • 1.
  • 2.  ORM es el mapeo objeto-relacional. Consiste en una técnica de programación para convertir datos entre el lenguaje de programación orientado a objetos utilizado y el sistema de base de datos relacional utilizado en el desarrollo de aplicaciones.  Esto posibilita el uso de las características propias de la orientación a objetos (básicamente herencia y polimorfismo). Hay paquetes comerciales y de uso libre disponibles que desarrollan el mapeo relacional de objetos, aunque algunos programadores prefieren crear sus propias herramientas ORM.  Entre estos paquetes comerciales tenemos una lista de los principales motores de mapeo objeto relacional, tales como: ColdFusion, Common Lisp, Java, JavaScript, .NET, Perl, PHP, Python, Ruby, Smalltalk, C++.
  • 3.  El problema que surge, porque hoy en día prácticamente todas las aplicaciones están diseñadas para usar la Programación Orientación a Objetos (POO), mientras que las bases de datos más extendidas son del tipo relacional y estas solo permiten guardar tipos de datos primitivos (enteros, cadenas de texto) por lo que no se puede guardar de forma directa los objetos de la aplicación en las tablas, sino que estos se deben de convertir antes en registros, que por lo general afectan a varias tablas. En el momento de volver a recuperar los datos, hay que hacer el proceso contrario, se deben convertir los registros en objetos.  En este punto es que se muestra la importancia del ORM, ya que este se encarga de forma automática, de convertir los objetos en registros y viceversa, simulando así tener una base de datos orientada a objetos. EL PROBLEMA
  • 4. VENTAJAS DEL ORM  Rapidez en el desarrollo.  Abstracción de la base de datos.  Reutilización.  seguridad.  Mantenimiento del código.  lenguaje propio para realizar las consultas.
  • 5. DESVENTAJAS  Tiempo utilizado en el aprendizaje. Este tipo de herramientas suelen ser complejas por lo que su correcta utilización lleva un tiempo que hay que emplear en ver el funcionamiento correcto y ver todo el partido que se le puede sacar.  Aplicaciones algo más lentas. Esto es debido a que todas las consultas que se hagan sobre la base de datos, el sistema primero deberá de transformarlas al lenguaje propio de la herramienta, luego leer los registros y por último crear los objetos.
  • 6.  por último se nombrara algunos framework que nos devuelven el mapeo objeto-relacional, según el lenguaje que estemos utilizando :  Doctrine  Propel  Hibernate  LINQ