mirror of https://github.com/apache/openjpa.git
c13f0b0e13
This commit contains two new features: 1) A new DB-specific flag DBDictionary#indexPhysicalForeignKeys so that indices for foreign keys will be generated for database systems that don't automatically create an index for foreign keys. 2) A new boolean property MappingDefaults.IndexPhysicalForeignKeys that will turn the feature from 1) on or off. By default MappingDefaults.IndexPhysicalForeignKeys is false so that the feature from 1) is disabled. Note: DBDictionary#indexPhysicalForeignKeys works similar to the pre-existing flag DBDictionary#indexLogicalForeignKeys. Note: this commit enables FK indices for Oracle and MS SQLServer. Other database systems may benefit, too, and should also be changed. |
||
---|---|---|
.github/workflows | ||
openjpa | ||
openjpa-all | ||
openjpa-examples | ||
openjpa-features | ||
openjpa-integration | ||
openjpa-jdbc | ||
openjpa-jest | ||
openjpa-junit5 | ||
openjpa-kernel | ||
openjpa-kubernetes | ||
openjpa-lib | ||
openjpa-persistence | ||
openjpa-persistence-jdbc | ||
openjpa-persistence-locking | ||
openjpa-project | ||
openjpa-slice | ||
openjpa-tools | ||
openjpa-xmlstore | ||
scripts | ||
src | ||
.gitignore | ||
LICENSE | ||
NOTICE | ||
README.adoc | ||
patchoj.py | ||
pom.xml |
README.adoc
= Apache OpenJPA - README == Preface Thank you for downloading this release of Apache OpenJPA. Apache OpenJPA is an implementation of the Java Persistence API 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 from your current user. The respective database image has to be started manually bofore 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. 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