ページ内ナビ
概要
Spring Data Commonsは、Spring Data各モジュールが共有するデータアクセス基盤です。Repositoryインターフェース、ドメイン型のメタデータ、ページングと並べ替え、監査、メソッド名からの問い合わせ組み立てに必要な共通部品を提供します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
Repository契約でデータアクセスの形をそろえる
Repositoryと派生インターフェースは、ドメイン型とID型を中心にデータアクセスの契約を表します。データストア固有モジュールはこの契約を実装し、問い合わせメソッド名の解析や独自Repository実装の組み込みに利用します。
Page、Pageable、Sortで結果の区切り方を共有する
Pageは現在の内容に加えて総件数や総ページ数を持ち、Pageableはページ番号・件数・並べ替えを表します。JPAやMongoDBなど異なるモジュールでも同じページングAPIを使えるため、サービス層やWeb層の境界をそろえやすくなります。
向いている用途
導入前の確認
単独ではデータベース接続や問い合わせ実行を提供しない
Commonsは共有インターフェースと基盤コードであり、データベースエンジンやJDBCドライバーではありません。実データを保存・検索するには、Spring Data JPA、MongoDB、Redisなど対象ストアに対応するモジュールと接続設定が必要です。
参考にした公式資料
- [1]Spring Data Commons 4.0.7 README(2026-10-04)
- [2]Spring Data Commons 4.0.7 release(2026-10-04)
- [3]Spring Data Commons 4.0.7 Maven metadata(2026-10-04)
- [4]Maven Compiler Plugin 3.14.1 release documentation(2026-10-04)
- [5]Spring Data project overview(2026-10-04)
- [6]Spring Data Commons 4.0.7 repository abstractions(2026-10-04)
- [7]Spring Data Commons 4.0.7 auditing reference(2026-10-04)
- [8]Spring Data Commons 4.0.7 Page API(2026-10-04)
- [9]Spring Data Commons 4.0.7 PageRequest API(2026-10-04)
編集部からの補足
データベース製品として比較するより、Spring Data JPAやMongoDBなどの上位モジュールが共有する契約を理解するために見るべきプロジェクトです。アプリケーションでは通常、対象データストアのSpring Dataモジュールを選び、その依存関係から利用します。
3ステップで試す
- 1
Java 17向けの最小Mavenプロジェクトを作成
JDK 17以上とMavenを用意し、Spring Data Commons 4.0.7とJava 17のrelease設定を解釈するMaven Compiler Plugin 3.14.1を固定した検証用プロジェクトを作ります。
mkdir spring-data-commons-demo && cd spring-data-commons-demo && printf '%s\n' '<project xmlns="http://maven.apache.org/POM/4.0.0"><modelVersion>4.0.0</modelVersion><groupId>example</groupId><artifactId>commons-demo</artifactId><version>1</version><properties><maven.compiler.release>17</maven.compiler.release></properties><dependencies><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-commons</artifactId><version>4.0.7</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.14.1</version></plugin></plugins></build></project>' > pom.xml - 2
PageとRepository契約を使う例を追加
特定データベースを設定せず、ドメイン型、PagingAndSortingRepository、PageRequest、Pageの共通APIを一つの例で確認します。
mkdir -p src/main/java/example && printf '%s\n' 'package example;' 'import java.util.List;' 'import org.springframework.data.domain.*;' 'import org.springframework.data.repository.PagingAndSortingRepository;' 'record Person(Long id, String name) {}' 'interface People extends PagingAndSortingRepository<Person, Long> {}' 'public class Demo { public static void main(String[] args) { Pageable request = PageRequest.of(0, 2, Sort.by("name")); Page<Person> page = new PageImpl<>(List.of(new Person(1L, "Ada"), new Person(2L, "Grace")), request, 2); System.out.println(page.getContent()); System.out.println("pages=" + page.getTotalPages()); } }' > src/main/java/example/Demo.java - 3
コンパイルしてページ情報を実行確認
型が4.0.7でコンパイルできることを確認し、2件の内容と総ページ数をローカルで表示します。データベースへの接続や書き込みは行いません。
mvn -q compile dependency:build-classpath -Dmdep.outputFile=cp.txt && java -cp "target/classes:$(cat cp.txt)" example.Demo
成長
成長の推移 · 直近30日
840 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 5
- Open PR
- 25
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- spring-data
- java
- spring
- ddd
- framework
- data-access
- Stars
- 840
- Forks
- 733
- Watchers
- 86
- Open Issues
- 194
- Contributors
- 187
- 所有者種別
- Organization
- 主要言語
- Java
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/10/02
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Spring Batch2,962 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Job・Step・chunkで大量data処理を構造化するJava batch framework
Java - APITable15,629 Stars
共通タグ 2件
spreadsheet型data layerにAPI・embed・automationを重ねて業務appをlow-codeで作る
TypeScript - RxJava48,185 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
非同期イベントを型別のストリームと演算子で組み立てるJVM向けReactive Extensions
Java - Netty35,064 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
event loopとChannel pipelineを組み合わせ、高接続数のprotocol server/clientをJavaで構築する
Java - Apache Kafka33,900 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
topic/partitionへeventをdurableに保存し、producer・consumer・Streams/Connectで分散data pipelineを組むevent streaming platform
Java - Kestra29,100 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
data・AI・infra workflowを同じdeclarative modelで動かす
Java
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。