/** * @see RefreshEventListener#onRefresh(RefreshEvent) */ @SuppressWarnings("unchecked") public void onRefresh(RefreshEvent event) throws HibernateException { onRefresh(event, IdentityMap.instantiate(10)); }
/** * @see RefreshEventListener#onRefresh(RefreshEvent, Map) */ @SuppressWarnings("unchecked") public void onRefresh(RefreshEvent event, Map refreshedAlready) throws HibernateException { IObject orig = (IObject) event.getObject(); if (orig.getId() == null) { throw new ApiUsageException( "Transient entities cannot be refreshed."); } if (HibernateUtils.isUnloaded(orig)) { final EventSource source = event.getSession(); log("Reloading unloaded entity:", orig.getClass(), ":", orig .getId()); Object obj = source.load(orig.getClass(), orig.getId()); refreshedAlready.put(orig, obj); return; // EARLY EXIT! } }
protected void additions() { prepend("refresh", new ReloadingRefreshEventListener());