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.
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
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!
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.
More informations can be found under doc/development.