すべての記事
-
Spring Data JPA / Hibernate の "failed to lazily initialize a collection" 解決方法|@Transactional と FetchType
Hibernate の LazyInitializationException("failed to lazily initialize a collection")は、セッションが閉じたあとで外部キーのコレクションを読みに行ったときに発生する典型的な落とし穴です。本記事ではこの例外が起きる仕組み(fetch type、セッションのライフサイクル、プロキシの罠)を解説し、推奨される `@Transactional` での修正と `FetchType.EAGER` という代替案を紹介します。
-
Java 17 sealed クラス完全解説|sealed・non-sealed・final の違いと permits の使い方
Java 17 で sealed クラスとインターフェースが正式機能に昇格しました(Java 15 からプレビュー機能として導入)。本記事では sealed・non-sealed・permits・final の組み合わせで「誰が継承できるか」を精密に制御できる仕組みを解説し、Animal → Chordata → Bird → Parrot / Penguin の動物クラス階層を通じて各パターンの使い方を順を追って示します。
-
Linux top コマンドの使い方|プロセスのソート・検索・フィルタ
Linux の top コマンドは実行中のプロセスをリアルタイムで確認できます。ユーザー絞り込み、コマンド名フィルタ、メモリや CPU でのソートなど、対話モードでよく使うショートカットをまとめて解説します。