@Override
    public int hashCode() {
        int hc = 0;
        for (Field f : Database.getDBFields(getClass()))
            try {
                if (f.get(this) != null)
                    hc += f.get(this).hashCode();
            } catch (IllegalArgumentException e) {
            } catch (IllegalAccessException e) {
            }
        return hc;
    }