We do it in the following way:
private Class persistentClass;
public Class getPersistentClass() {
if (persistentClass == null) {
this.persistentClass = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
return persistentClass;
}