ORM

From HaFrWiki
Jump to: navigation, 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

top


Reference

top

  1. Object_Orientation description on this wiki. Object Orientation (OO) can model a complex reality in a very natural way