No primeiro instante que eu vi as funcionalidades do CDI achei muito estranho, é realmente necessario sempe ter um DAO generic , e depois ter uma classe AutorDAO especifico? O DAO generico podemos dizer "que ajuda apenas la leitura"? Mais na hora de especificar ele não consegue? Por esse motivo criar a classe? E CDI não "aceita construtores"? Progamadores experientes na area podia dar um luz se é sempre correto criar um dao Generico e depois uma classe AutorDao por exemplo para puxar o meu dao Generico?