要するに:
x
ロード後に null にならないため、どちらもy
load()
オブジェクトが存在しない場合の例外がある場合とない場合があります
- からの例外がなく
load()
、オブジェクトが存在しない場合、x
またはへのアクセス時に例外が発生しy
ます。
詳しく説明するには:
キーが存在するかどうかを判断しようとしていますか? それとも、異常を処理したいだけだと思いますか?
具体的には、ドキュメントを参照してください。
このメソッドを使用して、インスタンスが存在するかどうかを判断しないでください (get()
代わりに使用してください)。これは、存在すると想定されるインスタンスを取得する場合にのみ使用してください。存在しない場合は実際のエラーになります。
load() の使用に関する書籍「hibernate in action」から:
アプリケーションは、永続状態を取得するためにデータベースにアクセスすることなく、永続インスタンスへの有効な参照 (プロキシ) を取得できます。その
load()
ため、キャッシュまたはデータベースで永続オブジェクトが見つからない場合、例外がスローされない場合があります。後でプロキシにアクセスすると、例外がスローされます。
だから:
アイテムが存在するかどうかを知りたい場合はget()
、 ではなくを使用してくださいload()
。