Skip to content

The JPA Processor fills the gap between Olingo V4 and the database, by providing a mapping between JPA metadata and OData metadata, generating queries and supporting the entity manipulations.

License

Notifications You must be signed in to change notification settings

exxcellent/olingo-jpa-processor-v4

 
 

Repository files navigation

Build Status (javax) codecov

First words...

This is a major refactoring of the content now provided via SAP/olingo-jpa-processor-v4. The content in this fork was modified before the GitHub project provided by SAP was created and based on a initial archive attached to an Olingo Issue. Over the time the implementations of both GitHub projects became different in many parts. Most parts of the API maybe still compatible, but the supported functionality and behaviour at runtime will not. Currently we see no chance to give back most of the code contributions to the origin project. So using one of the jpa processor forks may be a decision forever.

Generic OData-JPA-Adapter

This library implements functionality to enable CRUD operations for an JPA based data model in a OData (REST) environment. Developers using this library have to write only a few lines of code to get a servlet running handling all typical operations to read, write/update and delete JPA entities as OData/REST resources. Additional supported out-of-the-box functionality is:

  • Call Java methods as OData actions
  • Define custom OData entities outside JPA via (D)ata(T)ransfer(O)bject classes to get benefits from OData, but avoiding the persistence layer from JPA
  • Limit access to resources/actions with authorisation checks
  • A few builtin automatic datatype conversions (including time types) to mediate between OData, Java and the JPA/Database
  • Sorting + filtering for results

Javax (1.x) vs Jakarta (2.x)

Currently the library exists in two kinds of versions. One is for the old javax namespace the other for the more modern jakarta namespace. The differences can be explained as follows:

  • javax means Java 8 (but CI is runing also for Java 11 and 17)
    • This variant is using Olingo 4.x
    • This variant will have the version range 1.x, the older one 0.x is shared with the jakarta variant
    • The branch main-javax contains the content.
  • jakarta means Java 17+
    • This variant is using Olingo 5.x
    • This variant will have the version range 2.x, the older one 0.x is shared with the javax variant
    • The branch main-jakarta contains the content.

The documentation is slightly different for the both variants, so read the right one!

Documentation

For integrators

More informations how to integrate the library into your Java project read "Get Started". Migration requiring tasks resulting from API changes while updating are described in the migration guide.
All informations are available under doc/integrators.

For developers

More informations can be found under doc/development.

About

The JPA Processor fills the gap between Olingo V4 and the database, by providing a mapping between JPA metadata and OData metadata, generating queries and supporting the entity manipulations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.5%
  • Other 0.5%