Usar DAO?

Ola!

Estou criando uma aplicação e estou usando por enquanto Hibernate, DAO e uma camada de negocios.
Estou na duvida em utilizar DAO neste caso…
Pois, pelo que vi não ficou todo transparente da camada de persistencia a camada de negocios…
As vezes transações são feitas na camada de negocios e utilizo as classes do hibernate…

Fiz um “genericDAO” que faz algumas coisas uteis, mais nem tanto.

Sera mesmo ultil utilizar essa camada dao?
Pois me pareceu essa camada aumentando a complexidade e não sendo tão necessaria.

Deixo uma camada DAO que não é toda transparente?

Tem alguma outra forma de contornar esse caso?

É bom dar uma olhada em Design Patterns eu gosto do padrão MVC.

http://ootips.org/mvc-pattern.html

Olá cara, entra no site da CAELUM que la tem uma apostila que vc vai gostar, fala dos padroes DAO e MVC, falow, para desenvolvimento WEB

Abraços

Então, não é bom fazer isso mesmo. A sua camada de persistencia, sempre q possível deve somente trabalhar com persistência, deixando a camáda de negócios realizar a lógica de negócios. Se precisar de mais ajuda, ou uma ajuda mais específica, mostre seu problema de uma forma mais “real” que a gente dá uma ajudinha, se for possível… abraços!

A camada de negócios não deve tomar conhecimento da camada de persistência. A recíproca é falsa.

Na verdade, controle transacional podem ocorrer até em camadas mais altas. Pesquise por transações declarativas.

Depende do que você está chamando de DAO e como você o implementou. Procure também estudar um pouco de DDD, principalmente, o padrão Repository.

Aqui no GUJ mesmo há zilhões de discussões sobre tudo isso que falei. Leia todas. Muitas dúvidas que você tem já foram muito debatidas. :wink:

Se vc está usando o Hibernate ele é a camada de persistência.

Sua classe entity é um elemento da camada de negócios.

Uma pequena pesquisa e vc iria encontrar este excelente topico
http://www.guj.com.br/posts/list/60916.java

http://blog.fragmental.com.br/2007/06/22/cuidado-com-domain-driven-design/