Отвечая на мой собственный вопрос.
Я не верю, что это возможно с общедоступными API.Однако, если вы готовы терпеть немного сыра, вы можете сделать следующее
SessionImplementor sessionImplementor = ((SessionImplementor)session);
EntityPersister entityPersister = sessionImplementor.getFactory().getEntityPersister( clazz.getName() );
PersistenceContext persistenceContext = sessionImplementor.getPersistenceContext();
EntityKey entityKey = new EntityKey( id, entityPersister, EntityMode.POJO );
Object entity = persistenceContext.getEntity( entityKey );
if ( entity != null )
return entity;
entity = persistenceContext.getProxy( entityKey );
if ( entity != null )
return entity;
return null;
Это зависит от внутренних API hibernate, поэтому может не работать в будущем, если оно изменится внутренне.