O que manda as boas práticas?

6 respostas
Marques

Pessoal,

Tenho DAOs para cada tabela da minha aplicação, de forma que se preciso recuperar um cliente faço da seguinte forma:

cliente = clienteDAO.recuperarCliente(idCliente)

Só que agora vou desenvolver um relatório em que preciso fazer várias queries complexas para chegar ao resultado desejado.

Pergunto: Nesses casos o que vc faz? Faz-se um DAO para esse caso em particular ou mistura codigo sql ao action? Ou existe outra saida?

Muito obrigado,

Marques

6 Respostas

Rafael_Nunes

Se não consegue recuperar através dos Objetos DAO´s, uma opção é criar um DAO específico para situações assim, tipo de um GenericDAO

pcalcado

O problema é que você está pensando em tabelas, não em objetos.

Não tenha um DAO por tabela, tenha um DAO por classe (ou nem isso), porque uma classe pode ser persistida em várias tabelas, ou várias classes em uma tabela só.

Pense em objetos.

Shoes

R

Eu nem tenho DAOs. Tenho apenas uma classe GerenciadorConsultas. Nela, tenho todas as consultas. Ex:

public static List getClientes(String nome);

public static List getTodosClientes();

public static List getTodosDescricoesMateriais();

Como meu programa não vai ser muito grande, desse jeito está legal.

pcalcado

ronaldorezende:
Eu nem tenho DAOs. Tenho apenas uma classe GerenciadorConsultas. Nela, tenho todas as consultas. Ex:

E isso é diferente do DAO exatamente em que (alémd e ser uma estratégia possível co o padrão)?

R

Não sei. Só sei que faço assim. Se isso também é DAO, faço sem saber.

Mauricio_Linhares

Será que alguém realmente faz um DAO pra cada classe ou cada tabela?

Vixe!

Acho que um DAO genérico de CRUD e outros DAOs pra fazer coisas mais específicas é mais do que o suficiente.

Criado 31 de maio de 2005
Ultima resposta 31 de mai. de 2005
Respostas 6
Participantes 5