ORM

object relational mapping ORM

it is a programming technique for converting data between incompatible type systems in object-oriented programming languages. This creates, in effect, a “virtual object database” that can be used from within the programming language. It is the automated persistence of objects in a Java application to the tables in a relational database.

ORMs supported by Spring

  1. Hibernate
  2. iBatis
  3. JPA (Java Persistence API)
  4. TopLink
  5. JDO (Java Data Objects)
  6. OJB

ORM consists of

  1. API for performing basic CRUD operations
  2. API to express queries refering to classes
  3. Facilities to specify metadata
  4. Optimization facilities : dirty checking,lazy associations fetching

ORM levels

  1. Pure relational (stored procedure.)
  2. Light objects mapping (JDBC)
  3. Medium object mapping
  4. Full object Mapping (composition,inheritance, polymorphism, persistence by reachability)

ORM Advantages

The main advantage of ORM like hibernate is that it shields developers from messy SQL. Apart from this, ORM provides following benefits:

  1. Improved productivity
    1. High-level object-oriented API
    2. Less Java code to write
    3. No SQL to write
  2. Improved performance
    1. Sophisticated caching
    2. Lazy loading
    3. Eager loading
  3. Improved maintainability
    1. A lot less code to write
  4. Improved portability
    1. ORM framework generates database-specific SQL for you

ORM frameworks

  1. Enterprise$JavaBeans$En7ty$Beans$Java$Data$Objects
  2. Castor
  3. TopLink
  4. Spring\(DAO\)
  5. Hibernate$etc.

ORM vs DAO

TODO

What is the difference?

Tags

  1. Spring Data JPA
  2. Hibernate
  3. JPA - Jakarta Persistence API

Links to this note