JPAの記事一覧
JPAの関連マッピング、クエリ、トランザクション、性能改善など、データアクセス設計に関する記事をまとめています。
-
Spring BootでLombokを使ってボイラープレートを削減する方法
Spring Boot開発で頻出するLombokアノテーション(@Data・@Builder・@RequiredArgsConstructor・@Slf4jなど)の役割と使い分けを実務目線で解説。JPA Entityでの落とし穴やコンストラクタインジェクションとの組み合わせ方も整理します。
-
Spring Boot + JPAで論理削除を実装する方法 - @SQLDelete・@SQLRestriction・Filterの使い分け
Spring Boot + Spring Data JPAで論理削除を透過的に実装する方法を解説します。@SQLDelete + @SQLRestriction(旧@Where)と@SoftDelete・@FilterDefの使い分け、ユニーク制約衝突や復元処理、削除者の記録など実務でハマるポイントもまとめました。
-
Spring BootのJPAで楽観的ロック(@Version)を実装して同時更新の競合を防ぐ方法
ECサイトの在庫更新や予約システムで起きる「後勝ち上書き(Lost Update)」を@Versionアノテーションで防ぐ方法を解説。OptimisticLockExceptionのハンドリングからSpring Retryを使ったリトライ戦略、並行テストの書き方まで実践コードで紹介します。
-
Spring BootでQueryDSLを使った型安全な動的クエリの実装方法
QueryDSLをSpring Bootに導入し、APTによるQ型クラス生成からJPAQueryFactoryでの動的クエリ実装、ページネーション連携まで実践的に解説。Specificationとの比較も含む。
-
Spring BootでMapStructを使ってEntity-DTO変換を自動化する方法
手書きのtoDto()/toEntity()メソッドをMapStructで自動生成する実装ガイド。依存追加から@Mapperの基本、ネストオブジェクト・カスタム変換・ユニットテストまで網羅。
-
Spring BootでREST APIのCRUDを実装する - Controller・Service・Repositoryの基本構成
Spring BootでREST APIのCRUD(作成・取得・更新・削除)を実装する手順を、Controller・Service・Repositoryの3層構成でステップバイステップ解説。GET/POST/PUT/DELETEの4エンドポイントをコピペで動かし、curlでの動作確認まで一気通貫でカバーします。
-
Spring BootのJPA Auditingで作成日時・更新日時を自動記録する方法
Spring BootのJPA Auditingを使ってエンティティの作成日時・更新日時を自動記録する方法を解説。@CreatedDate・@LastModifiedDate・@EnableJpaAuditing・AuditorAwareの設定からSpring Security連携まで実践コードで紹介します。
-
Spring BootでMyBatisとJPAどちらを選ぶべきか - 使い分け基準と併用パターン【比較表付き】
Spring BootプロジェクトでMyBatisとJPAのどちらを選ぶべきか迷っていませんか?本記事ではSQL制御の柔軟性・学習コスト・パフォーマンス・保守性を比較表で整理し、実務での使い分けフローチャート、#{} と ${} の違い、両者を併用する具体的な設定例まで解説します。判断材料を一度にまとめて確認できます。
-
Spring Bootの@Transactionalでトランザクション管理を理解する - 伝播レベルと分離レベルの使い分け
Spring Bootの@Transactionalアノテーションを使ったトランザクション管理を基礎から実践まで解説。デフォルト動作、伝播レベル7種類、分離レベル4種類の使い分けと、ロールバックが効かない典型的な失敗パターン(checked例外、self-invocation)の対処法を実例付きで紹介します。
-
Spring Data JPAのクエリメソッド、どう書けばいいか迷ったことありませんか?
Spring Data JPAのクエリメソッド(findBy/existsBy/countBy/deleteBy)の命名規則を一覧表で整理。Containing/StartingWith/GreaterThan/Between/In/IsNull等のキーワードと生成SQL・使用例を早見表で確認できます。@Queryによるカスタムクエリ、ソート・ページングまで実例付きで解説。
-
Spring Boot JPAの関連マッピング入門 - @OneToMany/@ManyToOne/@ManyToMany・mappedByの使い方
Spring Boot JPAの@OneToMany/@ManyToOne/@ManyToMany/mappedByを初心者にも分かるように解説。双方向/単方向の違い、cascade、FetchType、N+1問題、循環参照対策までコード例付きでつまずきポイントを解消します。