ORM Object Relational Mapper : Mapping Objet Relationnel
Par PlaceOweb le lundi, février 9 2009, 23:42 - SQL - Lien permanent
Connaissez vous les très utiles ORM afin de na pas réinventer la roue ors de l'appel à vos objets contenus en base de données ?
Les ORM
Les ORM PHP
Doctrine
Doctrine est un objet relationnel mapper (ORM) pour PHP 5.2.3 + qui se trouve au sommet d'une puissante couche d'abstraction de base de données (DBAL). L'une de ses principales caractéristiques est la possibilité d'écrire les requêtes dans une base de données objet de propriété axée sur la doctrine appelée dialecte SQL Query Language (dql), inspiré par Hiberne HQL. Cela fournit aux développeurs une puissante alternative à la SQL qui maintient la flexibilité sans nécessiter de code inutilement dupliqué.
Ressources PHP Doctrine
- Documentation Doctrine
- Doctrine ORM for PHP
- Doctrine Cookbook
- What's New? et upgrade
- Doctrine Future Roadmap
- Doctrine API Documentation Index
- Cheatsheet
- API
- Doctrine : Doctrine the base class of Doctrine framework
- Doctrine Table : Doctrine_Table represents a database table each Doctrine_Table holds the information of foreignKeys and associations
- API
- Documentation Doctrine generated by phpSimpleDoc
- Liens utiles
- Doctrine PHP, équivalent à Hibernate
- Mapping objet relationnel (ORM) et persistance : Doctrine
- Doctrine (PHP 5)
- The symfony and Doctrine book : Chapter 6 - Working with Data
- Aller plus loin avec le Modèle : Doctrine
Propel
Propel pour PHP5 >= 5.0.0RC1, supportant les bases de données : MySQL, PostgreSQL, SQLite, MS SQL Server. Développement d'un pilote Oracle est en cours. Propel utilisait comme couche d'abstraction de base de données : Creole, mais "The Creole Project is Dead. Propel has since moved on to use PDO"
Comparatifs et liste des ORM pour php.
- developpez.com, Quelles sont les solutions d'ORM en PHP ? Doctrine, EZPDO, Metastorage, Propel, sfDoctrine, Zend_Db_Table
- phpindex.com. Comparatif 2009 entre : Doctrine, Propel, PHPMyObject, JDAO. Citation d'autres :PHPDataMapper, Repose, Outlet, Kohana
- Doctrine vs. Propel: 2009 update
- Comparatif 2007 des performances des ORM PHP par jyBlog entre Doctrine, Propel, phpMyObject et jDao
- Les ORM de PHP par noidea.ca, comparaison entre Zend DB, Doctrine et Propel :
Zend DB | Doctrine | Propel | |
Outil de unit tests | non | oui | non |
Gestion des contraintes | Oui | Super | oui |
Load Balancing des requetes (Master-Slave) | non | oui | non |
Lazy Load | Oui | oui | non |
Format des Shemas | PHP ou Dynamic | YAML converti en php | XML |
Controle des Transactions | Oui | oui | non |
Caching | non | Super | non |
Connection persistante | non | ? | non |
Profiler | Oui | oui | non- mais log error |
Langage “xQL” | Oui | oui | Oui – mauvais |
Raw SQL | Oui | oui | oui |
Stored Proc. Et Prepared Statement | Oui | oui | oui |
Querying for a set of Rows | Oui | oui | oui |
Costumizable Insert / update / delete | Oui | oui | Probablement ? |
Documentation | bonne | bonne | Faible |
Facilite d’intallation | bonne | moyenne* | bonne |
Facilite d’utilisation | bonne | moyenne* | bonne |
Outil de Migration | non | oui | non |
Outil de Performance | non | oui | non |
Validation de données selon le schema | non | oui | super |
Les ORM JAVA
EJB (Enterprise JavaBeans) et JPA (Java Persistence API) , JDO (Java Data Objects)
L'API JPA (Java Persistence API) apparue avec Java 5. JPA crée un pont relationnel / objet entre les tables d'une base de données liées par des relations et le monde objet manipulé par les applications Java. En ce sens, JPA est un ORM (Object Relational Mapping). Hibernate, qui existe depuis plusieurs années déjà, est probablement l'ORM le plus utilisé actuellement. JPA a tenu compte du succès d'Hibernate et en a repris la plupart des concepts. JPA est une spécification.
- Java Platform, Enterprise Edition (Java EE) : Enterprise JavaBeans Technology
- Enterprise JavaBeans
- Java Persistence API
- Java Data Objects
- Une introduction à la technologie EJB
- EJB 3
- Persistance Java 5 par la pratique
Hibernate
Liste des ORM JAVA :
Ressources
- wikipedia
- Mapping objet-relationnel
- Java Persistance API, EJB, etc...
- Hibernate
- Doctrine (PHP 5)
- pdoMap (PHP 5)
- Propel (PHP 5)
- Persistance de données (informatique)
- Mapping objet-relationnel
- developpez