DAO para movimentações?

já tenho DAO’s para as classes ‘normais’ do meu sistema (cliente,produto,etc). é correto eu ter DAO’s para cada classe de movimentação?
por exemplo, eu deveria ter apenas um DAO para as movimentações referentes a entradas e saídas ou eu devo ter um DAO para Contas a Pagar e outro para Contas a Receber como acontece com outras classes?
ou isso vai de cada um???

valew!

Eu costumo ter um DAO para cada Domain Class que seja possível algum ponto do sistema utiliza-la separadamente. Se ela sempre vier com uma classe-mãe (entidade fraca) e nunca tiver um uso separadamente, não crio um DAO especifico para ela.

A princípio você deveria ter um DAO apra cada classe persistente (veja sobre o padrão Entity), esta dúvida pode indicar um problema de modelagem, cuidado.

Phillip, então criar um DAO genérico com Hibernate não é uma boa prática?

Não exatamente, por isso que falei a principio :wink:

DAOs genéricos são bons com mecanismos eficientes como so do Hibernate. Se você fgor criar em JDBC, por exemplo, é melhor provavelmente um para cada.

Bom é manter uma estratégia Repository-&gtDao, onde um Dao pode, a priori, implementar diversos repositorios.

Ah, tá certo. Ficou claro… É mais ou menos isso que eu faço mesmo: um DAO implementando vários repositórios.

[quote=pcalcado]Não exatamente, por isso que falei a principio :wink:

DAOs genéricos são bons com mecanismos eficientes como so do Hibernate. Se você fgor criar em JDBC, por exemplo, é melhor provavelmente um para cada.

Bom é manter uma estratégia Repository-&gtDao, onde um Dao pode, a priori, implementar diversos repositorios.[/quote]

Phillip,

Deve-se criar um DAO mesmo para entidades “fracas”?

Olá, Flávio,

Vocabulário de banco de dados?!? :evil:

Bom, se estamos falando de DAOs JDBC, eu diria que depende. Se para persistir o objeto ‘fraco’ você tem um nível de complexidade, criar mais de um DAo e fazer um utilizar o outro é uma boa opção. Para Hibernate e afins um DAO apenas é quase sempre suficiente.

De qualquer maneira, Lembre-se que não precisa existir mapeamento 1-1 entre DAOs e repositórios. Em teoria, repositórios só existem para entidades, então o repositório que persiste uma entidade com diversos agregados pode ser implementando na verdade por N DAOs.

o que é uma “entidade fraca”?

É a ética na política brasileira.

Alem da perfeita definição do Giuliano, é uma entidade
sem PK (Primary-Key)