diff --git a/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java b/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java index 334dd709a0..c21066be5f 100644 --- a/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/internal/SessionImpl.java @@ -2550,11 +2550,14 @@ public final Object load(Serializable id) { try { fireLoad( event, LoadEventListener.GET ); success = true; - return event.getResult(); + } + catch (ObjectNotFoundException e) { + // if session cache contains proxy for non-existing object } finally { afterOperation( success ); } + return event.getResult(); } }