何かが見つからない場合にJPAで例外をスローする理由は何ですか?
追加:
この動作は EJB2 で見られ、EJB3 からは削除されましたが、NoResultException をスローするQuery#getSingleResult()を呼び出すと残ります。
通常、何かが見つからないことが例外であるとは思いません。実際、これは場合によってはデフォルトの状況である可能性があり、他のほとんどの状況では少なくとも予想される場合です。ビジネス ロジックの一部として例外を使用するべきではなく、それが何であるか、方法がわからない、または処理したくない特殊なケースとしてのみ使用する必要があるという古いことわざを思い出します。
JPAでこのように実装されている理由を知っている人はいますか? 何かが見つからなかったときに null を返すことの欠点は何ですか?