Spring Data Commons. Interfaces and code shared between the various datastore specific implementations.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Christoph Strobl 9a0869125b 2 months ago
.github Update GitHub Actions. 3 months ago
.mvn Upgrade to Maven Wrapper 3.9.11. 5 months ago
ci Update CI Properties. 3 months ago
src Prepare 4.0 RC2 (2025.1.0). 2 months ago
.gitignore Migrate build to Spring Develocity Conventions extension. 1 year ago
CI.adoc Migrate to main branch. 5 years ago
CONTRIBUTING.adoc Fix link to contrib guide. 5 years ago
Jenkinsfile Fix upstream build name. 2 months ago
LICENSE.txt Add LICENSE file. 5 years ago
README.adoc Polishing. 6 months ago
SECURITY.adoc DATACMNS-1541 - Create security policy readme. 7 years ago
Spring Data Commons.sonargraph DATACMNS-1097 - Polishing. 9 years ago
mvnw DATACMNS-1500 - URL Cleanup. 7 years ago
mvnw.cmd DATACMNS-1500 - URL Cleanup. 7 years ago
package.json Bundle Javadoc with Antora documentation site. 1 year ago
pom.xml 2 months ago
settings.xml Authenticate against artifactory. 5 years ago

README.adoc

= Spring Data Commons image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?search.rootProjectNames=Spring Data Core"]

https://projects.spring.io/spring-data/[Spring Data Commons] is part of the umbrella Spring Data project that provides shared infrastructure across the Spring Data projects. It contains technology neutral repository interfaces as well as a metadata model for persisting Java classes.

Our primary goals are:

* Powerful Repository and custom object-mapping abstractions
* Support for cross-store persistence
* Dynamic query generation from query method names
* Implementation domain base classes providing basic properties
* Support for transparent auditing (created, last changed)
* Possibility to integrate custom repository code
* Easy Spring integration with custom namespace

== Code of Conduct

This project is governed by the https://github.com/spring-projects/.github/blob/e3cc2ff230d8f1dca06535aa6b5a4a23815861d4/CODE_OF_CONDUCT.md[Spring Code of Conduct]. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.

== Getting Started

=== Maven configuration

Add the Maven dependency:

[source,xml]
----
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>${version}</version>
</dependency>
----

If you'd rather like the latest snapshots of the upcoming major version, use our Maven snapshot repository and declare the appropriate dependency version.

[source,xml]
----
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>${version}-SNAPSHOT</version>
</dependency>

<repository>
<id>spring-snapshot</id>
<name>Spring Snapshot Repository</name>
<url>https://repo.spring.io/snapshot</url>
</repository>
----

== Getting Help

Having trouble with Spring Data? We’d love to help!

* Check the
https://docs.spring.io/spring-data/commons/docs/current/reference/html/[reference documentation], and https://docs.spring.io/spring-data/commons/docs/current/api/[Javadocs].
* Learn the Spring basics – Spring Data builds on Spring Framework, check the https://spring.io[spring.io] web-site for a wealth of reference documentation.
If you are just starting out with Spring, try one of the https://spring.io/guides[guides].
* If you are upgrading, check out the https://github.com/spring-projects/spring-data-commons/releases[GitHub releases] and the https://github.com/spring-projects/spring-data-commons/wiki#release-notes[release notes] for "`new and noteworthy`" features.
* Ask a question - we monitor https://stackoverflow.com[stackoverflow.com] for questions tagged with https://stackoverflow.com/tags/spring-data[`spring-data`].
* Report bugs with Spring Data Commons at https://github.com/spring-projects/spring-data-commons/issues[github.com/spring-projects/spring-data-commons/issues].

== Reporting Issues

Spring Data uses GitHub as issue tracking system to record bugs and feature requests. If you want to raise an issue, please follow the recommendations below:

* Before you log a bug, please search the
https://github.com/spring-projects/spring-data-commons/issues[issue tracker] to see if someone has already reported the problem.
* If the issue doesn’t already exist, https://github.com/spring-projects/spring-data-commons/issues/new[create a new issue].
* Please provide as much information as possible with the issue report, we like to know the version of Spring Data that you are using and JVM version.
* If you need to paste code, or include a stack trace use Markdown +++```+++ escapes before and after your text.
* If possible try to create a test-case or project that replicates the issue. Attach a link to your code or a compressed file containing your code.

== Building from Source

You don’t need to build from source to use Spring Data (binaries in https://repo.spring.io[repo.spring.io]), but if you want to try out the latest and greatest, Spring Data can be easily built with the https://github.com/apache/maven-wrapper[maven wrapper].
You also need JDK 17 or above.

[source,bash]
----
$ ./mvnw clean install
----

If you want to build with the regular `mvn` command, you will need https://maven.apache.org/run-maven/index.html[Maven v3.5.0 or above].

_Also see link:CONTRIBUTING.adoc[CONTRIBUTING.adoc] if you wish to submit pull requests._
All commits must include a __Signed-off-by__ trailer at the end of each commit message to indicate that the contributor agrees to the Developer Certificate of Origin.
For additional details, please refer to the blog post https://spring.io/blog/2025/01/06/hello-dco-goodbye-cla-simplifying-contributions-to-spring[Hello DCO, Goodbye CLA: Simplifying Contributions to Spring].

=== Building reference documentation

Building the documentation builds also the project without running tests.

[source,bash]
----
$ ./mvnw clean install -Pantora
----

The generated documentation is available from `target/site/index.html`.

== License

Spring Data Commons is Open Source software released under the https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].