4.4.4. ORM Layer

Object-Relational Mapping is the technology for linking relational database tables to programming language objects.

Benefits of using ORM:
  • Allows working with a relational DBMS by means of Java objects manipulation.

  • Simplifies programming by eliminating routine writing of SQL queries.

  • Simplifies programming by letting you extract and save entire object graphs with one command.

  • Ensures easy porting of the application to different DBMS.

  • Uses a concise object query language – JPQL.

  • Optimizes the number of SQL requests for insert and update.

Shortcomings:
  • Requires understanding of specifics of working with ORM.

  • Does not allow to directly optimize SQL or use specifics of the DBMS.

CUBA uses the ORM implementation according to Java Persistence API standard based on Apache OpenJPA framework.