Apache OpenJPA
Go to file
Mark Struberg 0ab02d6965 OPENJPA-2911 AuxilaryEnhancer in ASM 2023-07-14 12:15:54 +02:00
.github/workflows Upgrade GH workflows with JDK 11 2023-05-07 08:13:32 +02:00
openjpa OPENJPA-2908 finish jakarta migration 2023-05-05 17:31:20 +02:00
openjpa-all OPENJPA-2908 finish jakarta migration 2023-05-05 17:31:20 +02:00
openjpa-examples OPENJPA-2908 finish jakarta migration 2023-05-05 17:31:20 +02:00
openjpa-features OPENJPA-2908 Jakarta-3.0 API - WIP! 2023-04-24 09:19:43 +02:00
openjpa-integration OPENJPA-2908 finish jakarta migration 2023-05-05 17:31:20 +02:00
openjpa-jdbc OPENJPA-2911 Bridge from BCClass <-> ASM ClassNode 2023-06-01 14:21:05 +02:00
openjpa-jest OPENJPA-2908 Jakarta-3.0 API - WIP! 2023-04-24 09:19:43 +02:00
openjpa-junit5 OPENJPA-2908 Jakarta-3.0 API - WIP! 2023-04-24 09:19:43 +02:00
openjpa-kernel OPENJPA-2911 AuxilaryEnhancer in ASM 2023-07-14 12:15:54 +02:00
openjpa-kubernetes OPENJPA-2908 Jakarta-3.0 API - WIP! 2023-04-24 09:19:43 +02:00
openjpa-lib OPENJPA-2911 copyFields via ASM 2023-06-09 20:01:44 +02:00
openjpa-persistence OPENJPA-2908 finish jakarta migration 2023-05-05 17:31:20 +02:00
openjpa-persistence-jdbc OPENJPA-2911 few more internal methods in ASM 2023-06-21 15:39:00 +02:00
openjpa-persistence-locking OPENJPA-2908 Jakarta-3.0 API - WIP! 2023-04-24 09:19:43 +02:00
openjpa-project OPENJPA-2909 move proxy code to own package 2023-04-30 14:21:58 +02:00
openjpa-slice OPENJPA-2908 Jakarta-3.0 API - WIP! 2023-04-24 09:19:43 +02:00
openjpa-tools OPENJPA-2911 AuxilaryEnhancer in ASM 2023-07-14 12:15:54 +02:00
openjpa-xmlstore OPENJPA-2908 Jakarta-3.0 API - WIP! 2023-04-24 09:19:43 +02:00
scripts OPENJPA-2747 upgrade to jpa-2.2 api 2019-03-27 12:29:57 +01:00
src fix OpenJPA and PostgreSQL docker setup 2021-04-01 16:50:49 +02:00
.gitignore [OPENJPA-2883] 'supportsAutoAssign' is turned OFF when 'useTriggersForAutoAssign' is ON (#84) 2021-10-23 00:19:22 +07:00
LICENSE [OPENJPA-2881] orm* schemas are available offline (#89) 2021-12-15 19:23:10 +07:00
NOTICE update various copyrights 2020-12-01 11:45:43 +01:00
README.adoc OPENJPA-2908 reflekt Jakarta API in our readme 2023-05-06 09:11:58 +02:00
patchoj.py [OPENJPA-2751] trailing white-spaces were removed 2018-10-02 12:32:32 +00:00
pom.xml upgrade xbean to 4.22 2023-05-16 09:28:09 +02:00

README.adoc

= Apache OpenJPA - README

== Preface
Thank you for downloading this release of Apache OpenJPA.

Apache OpenJPA is an implementation of the Jakarta Persistence API 3.0 specification.


== License
The content of this repository is licensed under Apache License 2.0
http://www.apache.org/licenses/LICENSE-2.0

== Further Information

The following files can be found in the openjpa-project subdirectory:

* openjpa-project/BUILDING.txt
* openjpa-project/CHANGES.txt
* openjpa-project/RELEASE-NOTES.html

For documentation and project information, please visit our project site:
    http://openjpa.apache.org/


== Compiling

The best way to compile Apache OpenJPA yourself is to run the build against the default derby database.

 $> mvn clean install -Dsurefire.excludes.locking=**/*

== Testing against different Databases

The Apache OpenJPA project also contains a setup for testing against multiple databases.
The easiest way is to use Docker.
We assume that Docker is installed to be used by your current user.
The respective database image has to be started manually before starting the build.
The reason for not starting it as part of the build itself is to be able to look at the database content after the build did run.

[TIP]
====
*Hint for running with Podman*

Some distributions switched from native Docker to Podman.
If you get an error like `missing DOCKER_HOST` then you might try running the following command:

  export DOCKER_HOST="unix:/run/user/$(id -u)/podman/podman.sock"
  podman system service -t 3600 &
  mvn ...
====

To start e.g. a PostgreSQL Docker image you can simply invoke the following command.
Note the -N Maven option which stands for 'non-recursive'.
This is used because the docker container is configured only at the root project but not at his children.

 mvn -N -Ptest-mysql-docker docker:start

After that, you can execute your tests with the respective Maven profile

 mvn clean install -Ptest-mysql-docker

Once the Docker image for the database is not needed any longer one can stop and remove it:

 mvn -N -Ptest-mysql-docker docker:stop
 mvn -N -Ptest-mysql-docker docker:remove


The following Maven profiles do exist so far:

* test-mysql-docker
* test-mariadb-docker
* test-postgresql-docker
* test-mssql-docker
* test-oracle-docker