get/load are for when you know what you're doing: you've validated the id, or whatever. If you have a filter that you want applied to a get-by-id, use HQL or Criteria to simulate get/load:
Code:
from Table t where t.id = :tableId
Code:
Criteria c = sess.createCritera(Table.class);
c.add(Restrictions.eq("id", tableId));
return c.uniqueResult();
There is a definite upside to allowing unfiltered gets/loads: it allows you do checks against out-of-filter objects (e.g. if certain types of your objects have to be unique across all workspaces, your filter would prevent you from looking in other workspaces to implement this...).