Se usar algo como Hibernate, vai ver como isso é simples e você não precisará de milhares de DAOs.
Se não quiser/puder usar Hibernate...
public interface DAO {
public void save(Object o);
public void update(Object o);
public void delete(Object o);
}
public class DAOImpl implements DAO {
public void save(Object o) {
//verifica o tipo da classe e decide em que tabela salvar
}
public void update(Object o) { ... }
public void delete(Object o) { ... }
}
