public T findByPk(Object pk) { Type genType = getClass().getGenericSuperclass(); Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); return dao.unique((Class<T>) params[0], pk); }