はじめに これはJPAを解説する連載の5回目です。 うっかりすると、JPQLでは予期しなかった大量のSQLが発行されてしまう場合があります。これは “N+1” 問題と言われているものですが、解決のためには次のような4つの選択肢があります。 JPQLでJOIN FETCHを使う Criteria API(JPQLをプログラムとして書く)でFetch Joinを記述する Named Entithy Graph を使う Dynamic Entity Graph を使う ここでは、1.のJPQLによる方法について解説します。また、そのほかの方法も、この後の章で順次、詳しく解説する予定です。 N+1問題とは 次のような具体的な例で考えましょう。 // すべてのEmployeeエンティティを得る TypedQuery<Employee> query = em.createQuery("SELECT e