We were getting ClassCastExceptions when subclassing a subclass of
GenericHibernateDAO. This change to the constructor will fix it:
public GenericHibernateDAO() {
Class clazz = getClass();
while (!(clazz.getGenericSuperclass() instanceof ParameterizedType)) {
clazz = clazz.getSuperclass();
}
persistentClass = (Class<T>) ((ParameterizedType)
clazz.getGenericSuperclass()).getActualTypeArguments()[0];
} |