ORM
Jump to navigation
Jump to search
Object-Relational Mapping (ORM) converts data between incompatible type systems in OO languages [1]. This creates, in effect, a virtual object database that can be used from within the programming language.
ORM is widely used in the following languages (limited list, See [[wikipedia:List_of_object-relational_mapping_software|Wikipedia List of ORM Software):
- C++,
- LiteSQL, ODB, Wt::Dbo, QxOrm
- Cocoa (* Objective-C)
- Enterprise Objects and Core Data
- Java,
- Apache Cayenne, EclipseLink, Enterprise Java Beans, Hibernate, iBATES, Java Data Objects, Java Persistence API (JPA), Oracle TOPLink.
- Microsoft .Net
- ADO.net, DatabaseObjects, Dapper, iBATES, LINQ to SQL, NHibernate.
- Object Pascal or former known as Delphi
- PHP
- Doctrine, Propel, Zend Framework
- Python
- Ruby
- Smalltalk
- Oracle TOPLink
Pro's and Con's
- ORM often reduces the lines of code needed to perform a task if you compare it with the common method of writing the queries using the SQL-statements and written field-code mappings.
- The code is written using a high abstraction of what is really happening under the (database)-hood.
- A database needs to be designed in an ordered and structured way. ORM hides this form the programmer.
- An alternative may be found in XML-databases using XML-techniques.
- An object as used in an OO-web-application may not represent the same storage object/table in a database.
See also
- List of ORM software, Wikipedia list of ORM software.
- Comparison of ORM software
- CORBA, The old one still exists!
- Object database, wikipedia description
- Object persisence, Object storage
- Java DataObjects
Reference
- ↑ Object_Orientation description on this wiki. Object Orientation (OO) can model a complex reality in a very natural way