Common way to sort this issue in a secure way is to add a constructor to store the class of the type.
Example in your context:
public abstract class BaseDao {
private Class classT;
BaseDao(Class classT){
this.classT=classT;
}
protected Class getClazz() {
return classT;
}
// ...
}