Duvida sobre DAO

Fiz uma aplicacao onde uso DAO/JDBC para a camada de persistencia, tenho a seguinte duvida:

Posso fazer um DAO só com um select com join e retorne um TO ou VL deste join sql.

Ou seja preciso montar um profile do usuario e enviar para camada de apresentacao poder visualizar o menu, fiz um DAO que acessa as tabelas do BD e me retorna um VL com os itens do menu.

Está correto, eu não deveria fazer a montagem deste VL no BO(Business Object), se sim eu não estaria fazendo diversos acessos sem necessidade ou o padrão é assim mesmo…

Aguardo opinioes, obrigado.

Pode sim, perfeitamente!

TO (Transfer Object), originalmente, serve para transportar dados de uma camada para outra, evitando as “terriveis” chamadas remotas (no caso de EJB, principalmente do SessionFacade para Camada de Apresentacao ). Entao o TO agrupa um conjunto de dados (independente de quais entities/tabelas forem), e devolve para camada de apresentacao, por ex.

Faça um DAO que tenha um metodo que te retorne TODOS os dados do profile do banco (portanto, usando join sql, como vc falou), todo isso dentro de um TO completamente populado.

Cuidado, veja bem se vc precisa mesmo de todos os padroes J2EE na sua aplicacao. Leve em consideracao tb se nao está utilizando algum pattern para resolver um problema que vc nao tem! Cada caso é um caso. :smiley:

Gerson K. Motoyama

Um DAO num ambiente não distribuído (cliente e DAO na mesma máquina) deveria retornar objetos completos, não DTOs, simplesmente porque não há sentido em se utilizar mais uma gambiarra à toa.

Você pode ter uma classe que receba DTOs e gere objetos de domínio, mas evite ao máximo o uso de DTOs, objetos significado em seu domínio que servem para suprir carências de infra-estrutura :wink:

[]s

O que é VL?