@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;
}
}