mcpField
3
312-frameworks-spring-data-jdbc

312-frameworks-spring-data-jdbc

github.com/jabrena開発456332 回インストール1 日前に更新
リポジトリ

312-frameworks-spring-data-jdbc について

Java の record を使う Spring Data JDBC の設計指針を適用するスキルです。エンティティ、リポジトリ、集約、クエリ、トランザクションを扱い、変更前のコンパイルと変更後の全体検証を求めます。

主な機能

  1. 01Java record によるエンティティ設計
  2. 02集約とリポジトリ境界の定義
  3. 03不変更新と save の動作整理
  4. 04パラメーター付きカスタムクエリ
  5. 05トランザクションと読み込みの指針
  6. 06コンパイルと全体検証の実施

活用シーン

  1. 01Spring Data JDBC のエンティティとリポジトリをレビュー
  2. 02集約境界と不変更新を見直す
  3. 03N+1 読み込みや安全でないクエリ生成を回避

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jabrena/plinth --skill 312-frameworks-spring-data-jdbc

インストール後、Claude Code で/312-frameworks-spring-data-jdbcを入力して読み込まれたか確認します。

同梱ファイルreferences/312-frameworks-spring-data-jdbc.md

詳細

レコードを使用した Spring Data JDBC

Java レコードを使用して Spring Data JDBC のガイドラインを適用します。

このスキルの対象範囲

  • エンティティクラスにレコードを使用する(不変で、コンストラクターとの相性が良い)
  • レコード名がテーブル名と異なる場合の命名に @Table を使用する
  • @Embedded を使用して、値オブジェクトの列を別テーブルにせず親行にインライン化する
  • リポジトリパターン
  • 新しい行には静的ファクトリーを、更新には with* ヘルパーを使用した不変更新
  • @Id の null 許容性によって決まる save() の INSERT と UPDATE のセマンティクス
  • 集約境界:集約ルートごとにリポジトリを 1 つ設け、ルート内の一対多には Set を使用し、集約間には外部キーを使用する
  • @Query と名前付きパラメーターを使用したカスタムクエリ(ユーザー入力を連結しない)
  • トランザクション管理(サービスに @Transactional を付与し、適切な場合は readOnly を使用する)
  • 単一クエリによる読み込み(N+1 の回避)

対象範囲: 参照ルールと適切なコード例・不適切なコード例に基づいて推奨事項を適用します。

制約

Spring Data JDBC の変更を適用する前に、プロジェクトがコンパイルできることを確認してください。コンパイルに失敗した場合は、直ちに作業を中止してください。改善を適用した後は、完全な検証を実行してください。

  • 必須:変更を適用する前に ./mvnw compile または mvn compile を実行する
  • 安全性:コンパイルに失敗した場合は、直ちに作業を中止する
  • 検証:改善を適用した後に ./mvnw clean verify または mvn clean verify を実行する
  • 適用前:詳細なルールと適切なパターン・不適切なパターンについて、参照資料を読む
  • 例外ケース:依頼の範囲が曖昧な場合は、変更を適用する前に作業を中止し、明確化を求める
  • 例外ケース:必要な入力、ファイル、ツールが不足している場合は、不足しているものを報告し、セットアップに関する案内を提示して進めてよいか確認する

このスキルを使用する場面

  • Spring Data JDBC の Java コードをレビューする
  • Java コードに Spring Data JDBC のベストプラクティスを適用する
  • Java レコードを使用して Spring Data JDBC の集約をモデル化する
  • Spring Data JDBC のリポジトリと集約境界をレビューする
  • Spring Data JDBC の楽観的ロックやドメインイベントを改善する

ワークフロー

  1. 参照資料を読み、プロジェクトのコンテキストを評価する

変更を提案する前に references/312-frameworks-spring-data-jdbc.md を読み、現在のプロジェクト設定を確認します。

  1. 作業範囲を把握し、対象とする改善を決める

依頼された成果、制約、適用する変更のうち安全に実施できる最小限のものを特定します。

  1. フレームワークに沿った変更を適用する

参照資料のパターンとプロジェクトの規約に従って、設定やコードを実装またはリファクタリングします。

  1. 検証を実行し、結果を報告する

適切なビルドやテストを実行し、変更内容、検証した項目、今後の対応事項をまとめます。

参照資料

詳細なガイダンス、例、制約については、references/312-frameworks-spring-data-jdbc.md を参照してください。

コメント