コーディング支援
JPA はドメインモデル貧血症パターンを表します。 通常、メインのドメインオブジェクトは次のように階層化されます。
エンティティにはデータのみが含まれます
Spring Data リポジトリはエンティティの CRUD 操作を宣言します
DTO とエンティティを DTO に転送するマッパー
各層には明確な責任領域があるため、このような分離は自然に見えます。 ただし、エンティティに対して使用できるさまざまな操作の検出可能性が低いため、開発中にさらなる複雑さが生じます。
JPA Buddy は、開発をより簡単で透明にする JPA エンティティ、Spring Data リポジトリ、DTO、MapStruct マッパーの多くのコーディング支援機能を統合することでこの問題に対処します。
コード補完
Spring Data JPA リポジトリの生成とインジェクション
新しい Spring Data JPA リポジトリを作成するには、エンティティ名 (1) で始まるリポジトリ名を入力するだけです。 すると、 リポジトリウィザードが開きます。
同じコーディングスタイルに従うことで、既存の Spring Data JPA リポジトリ (2) を挿入することもできます。 既存のリポジトリ名を入力し始めると、JPA Buddy がそれを見つけます。

インジェクション設定に応じて、JPA Buddy はリポジトリを現在のクラスにインジェクトします。 以下の例は、コンストラクターベースのインジェクションを示しています。

メソッド / クエリの生成と呼び出し
JPA Buddy を使用すると、複数のエディター間でフォーカスを切り替える必要がありません。 ここから クエリビジュアルデザイナーを直接呼び出すことができます。

また、エンティティクラス名の呼び出しを通じてリポジトリメソッドを検索 / 作成することもできます。

MapStruct マッパーの生成と挿入
JPA Buddy は MapStruct マッパーを生成し、それを挿入して、適切なマッピング呼び出しを scaffold に実行できます。 新しいマッパーを生成するには、「mapTo...」オプションを使用するか、既存のマッパーのメソッドを適用します (以下の例では mapToPetDto)。 この機能は、単一インスタンスとエンティティまたは DTO のコレクションの両方で機能します。

以下は、 mapToPetDto オプションを選択した後に JPA Buddy が生成するコードです。

未解決の参照から JPA 関連オブジェクトを生成する
開発者によっては、オブジェクトを実装する前に宣言することを選択する場合があります。 JPA Buddy は、このプログラミングスタイルに従う開発者を支援します。 以下を作成することを提案します。
Spring Data JPA リポジトリ – 参照が Spring Data リポジトリ設定で指定された値で終わる場合。 デフォルト値は リポジトリ です。
射影 – 参照が 射影宣言の設定で指定された値で終了する場合。 デフォルト値は: 情報、 Prj、 射影、 VO、 Vo、 表示、 Request、 参照 です。
DTO — 参照が DTO 宣言の設定で指定された値で終了する場合。 デフォルト値は Dto です。

次に、対応するウィザードが開きます。
Kotlin サポート
Java 開発者が好むすべての機能は、Kotlin ファンにも利用可能です。 Spring Data リポジトリをオンザフライで作成したり、MapStruct マッパーを挿入したり、メソッド呼び出しをスキャフォールディングしたりする場合でも、JPA Buddy が対応します。 また、Kotlin で REST エンドポイントを作成する場合も、JPA Buddy を使用すると非常に簡単に作成できます。
設定
JPA Buddy は柔軟な設定を提供し、コーディング支援機能をより便利に使用することができます。以下のことが可能です: 次のことが可能です。
bean 注入タイプの自動検出を有効 / 無効にします。
コード生成時に JPA Buddy が従う bean インジェクション戦略を定義します。
スマートコンプリート機能を使用するかどうかを設定します。
