IntelliJ IDEA 2026.2 Help

Jakarta Data

Jakarta DataJakarta EE エコシステムにおけるデータベース操作に特化した仕様です。 API は、リポジトリ作成用に利用できる、データベース内のエンティティを挿入、更新、削除、およびクエリするメソッドを持つインターフェースなどを提供します。

Jakarta Data の鍵となる特徴は、リポジトリメソッドを手動で実装する必要がないことです。 Jakarta Data API のアノテーションやキーワードを使う限り、互換性のある 実装ライブラリが基礎となるロジックを提供し、メソッド宣言を動作するデータベース呼び出しへ変換します。

IntelliJ IDEA は Jakarta Data に対して次のサポートを提供します:

  • リポジトリ向けコーディング支援:エンティティクラスに基づくメソッド名の補完と検証、メソッド名に基づくパラメーターの検証

  • Beans ツールウィンドウでのリポジトリ間ナビゲーション

  • Jakarta Data Query Language (JDQL) の支援:構文ハイライト、エンティティクラスに基づくステートメントの自動補完、ステートメントの検証

Jakarta EE: Data プラグインの有効化

この機能は、デフォルトで IntelliJ IDEA Ultimate にバンドルされて有効化されている Jakarta EE: Data プラグインに依存しています。 関連機能が利用できない場合は、プラグインを無効化していないことを確認してください。

  1. Ctrl+Alt+S を押して設定を開き、 プラグイン を選択します。

  2. インストール済み タブを開き、 Jakarta EE: Data プラグインを見つけて、プラグインお名前の横にあるチェックボックスを選択します。

プロジェクトに Jakarta Data を追加する

IntelliJ IDEA で Jakarta Data サポートを有効化するには、API をプロジェクト依存関係に追加する必要があります。 アノテーション、インターフェース、およびリポジトリおよびリポジトリメソッドを宣言するためのキーワードを提供します。 ただし、これらのリポジトリを機能させるには、次の依存関係も必要です:

  • エンティティ向けのアノテーションを提供する API。例えば Jakarta Persistence (JPA)Jakarta NoSQL などです。 これは、リポジトリメソッドが操作するエンティティクラスを定義するために必要です。

  • 実装ライブラリ。 リポジトリメソッドを実装し、エンティティのライフサイクルを管理し、データベースとの通信を処理します。 これにより抽象的なリポジトリメソッドが実際のデータベース操作に変換されます。

このガイドでは、データベースが リレーショナル非リレーショナルかによって、次の依存関係の組み合わせを使用します:

データベースタイプ

API

実装

リレーショナル

Jakarta Data + Jakarta Persistence (JPA)

Hibernate(英語)

非リレーショナル

Jakarta Data + Jakarta NoSQL

Eclipse JNoSQL

Jakarta Data を使って新しい Jakarta EE プロジェクトを作成する

  1. 新規プロジェクト ウィザードを開く:

    • ウェルカム画面で、 新規プロジェクト をクリックします。

    • IDE で、 ファイル | 新規 | プロジェクト に移動します。

  2. ジェネレーター リストから Jakarta EE を選択してください。

    新しい Jakarta EE プロジェクトの作成
  3. Jakarta EE プロジェクト設定を行います。

  4. ウィザードの次のステップに移動します。 左上で使用したい Jakarta EE バージョンを選択します。

  5. 依存関係 リストから データ を選択してください。 次に、データベース種別に応じて次の項目を選択します:

    • リレーショナル: 永続化 (JPA)Hibernate

    • 非リレーショナル: NoSQL。 プロジェクト作成後に Eclipse JNoSQL を手動で追加する必要があります。

    JPA と Hibernate を使用した新しい Jakarta EE プロジェクト
  6. 作成 をクリックします。

Jakarta EE プロジェクトの作成方法やアプリケーションサーバーの設定など、詳細については チュートリアル: 最初の Jakarta EE アプリケーション を参照してください。

既存のプロジェクトに Jakarta Data を追加する

  1. ビルドファイルをエディターで開きます(プロジェクトで使用するビルドツールによって pom.xml または build.gradle )。

  2. データベース種別に応じて次の依存関係を追加します:

    リレーショナルデータベース
    <!-- Jakarta Data specification --> <dependency> <groupId>jakarta.data</groupId> <artifactId>jakarta.data-api</artifactId> <version>1.0.1</version> </dependency> <!-- Jakarta Persistence specification --> <dependency> <groupId>jakarta.persistence</groupId> <artifactId>jakarta.persistence-api</artifactId> <version>3.2.0</version> </dependency> <!-- Implementation (Hibernate) --> <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version>7.2.4.Final</version> </dependency>

    Hibernate には追加の依存関係が必要な場合があります。 詳細は 公式ドキュメントをご参照ください。

    非リレーショナルデータベース
    <!-- Jakarta Data specification --> <dependency> <groupId>jakarta.data</groupId> <artifactId>jakarta.data-api</artifactId> <version>1.0.1</version> <scope>provided</scope> </dependency> <!-- Jakarta NoSQL specification --> <dependency> <groupId>jakarta.nosql</groupId> <artifactId>jakarta.nosql-api</artifactId> <version>1.0.1</version> <scope>provided</scope> </dependency> <!-- Implementation (Eclipse JNoSQL) --> <dependency> <groupId>org.eclipse.jnosql.mapping</groupId> <artifactId>jnosql-mapping-document</artifactId> <version>1.1.12</version> </dependency>

    NoSQL データベースによって必要な Eclipse JNoSQL の依存関係が異なります。 詳細は 公式ドキュメントをご参照ください。

    リレーショナルデータベース
    // Jakarta Data specification compileOnly('jakarta.data:jakarta.data-api:1.0.1') // Jakarta Persistence specification compileOnly('jakarta.persistence:jakarta.persistence-api:3.2.0') // Implementation (Hibernate) implementation('org.hibernate.orm:hibernate-core:7.2.4.Final')

    Hibernate には追加の依存関係が必要な場合があります。 詳細は 公式ドキュメントをご参照ください。

    非リレーショナルデータベース
    // Jakarta Data specification compileOnly('jakarta.data:jakarta.data-api:1.0.1') // Jakarta NoSQL specification compileOnly('jakarta.nosql:jakarta.nosql-api:1.0.1') // Implementation (Eclipse JNoSQL) implementation('org.eclipse.jnosql.mapping:jnosql-mapping-document:1.1.12')

    NoSQL データベースによって必要な Eclipse JNoSQL の依存関係が異なります。 詳細は 公式ドキュメントをご参照ください。

  3. Ctrl+Shift+O を押して変更をインポートします。

ビルドツールの使用に関する詳細は、 Maven または Gradle を参照してください。

Jakarta Data リポジトリを作成する

Jakarta Data リポジトリは、 @Repository でアノテートされたインターフェースで、エンティティに対する検索・挿入・更新・削除などのデータベース操作を宣言します。 通常、リポジトリは単一のエンティティクラスを管理します。

  1. プロジェクト ツールウィンドウ(Alt+1 )を開き、リポジトリを作成したいパッケージに移動します。

  2. パッケージを右クリックし、 新規 | Java クラス を選択します。

  3. 新規 Java クラス ポップアップで インターフェース を選択し、リポジトリお名前を入力して Enter を押します。

  4. インターフェース宣言に @Repository をアノテートします。 求められた場合はそのクラスをインポートしてください。

    リポジトリのアノテーションおよびインポートを含むインターフェースを作成しました

    これで IntelliJ IDEA はそのインターフェースを Jakarta Data リポジトリとして認識し、コーディング支援が利用できます。

  5. (任意)Jakarta Data の組み込みリポジトリのいずれかを継承します:

    • DataRepository: エンティティクラスとその ID 型を指定できますが、あらかじめ定義されたメソッドはありません。

    • BasicRepository: DataRepository を拡張し、検索・保存・削除の基本メソッドを提供します。

    • CrudRepository: BasicRepository を拡張し、更新・挿入用の追加メソッドを提供します。

リポジトリを作成したら、メソッドの宣言を始められます。 Jakarta Data でメソッドがどの種別のデータベース操作かを認識させるには、サポートされている宣言パターンのいずれか―アノテーション(例: @Find )またはメソッドお名前に特定のプレフィックス(例: findByName )―を使用する必要があります。 リポジトリメソッドの宣言方法の詳細は、 Jakarta Data API ドキュメントをご参照ください。

JDQL クエリの操作

Jakarta Data Query Language (JDQL) を使うと、リポジトリメソッド向けのクエリをメソッドお名前によるクエリや他のアノテーションなしで明示的に記述できます。 JDQL を @Query アノテーション内で入力すると、IntelliJ IDEA が自動で認識し、エンティティクラスに基づいてフィールドお名前をサジェストし、クエリステートメントの検証を行います。

JDQL クエリ作成中に releaseYear フィールドがサジェストされます

専用エディターで JDQL クエリを編集する

JDQL を専用エディターで開くことで、周囲のコードを気にせずクエリの作成に集中できます。 クエリが複雑または複数行に渡る場合に便利です。

  1. JDQL クエリにキャレットを置いてください。

  2. Alt+Enter (または コンテキストアクションの表示 をクリック)を押して、 Jakarta Data QL フラグメントを編集する を選択します。

    IntelliJ IDEA は専用のフラグメントエディターでクエリを開きます。

    専用のフラグメントエディターでの JDQL クエリ
2026 年 7 月 14 日