Dúvida de Arquitetura

Olá…

faz um tempinho que não mexo com java e desenvolviment web… e estou meio em dúvida na questão de arquitetura… se vcs pudesse me ajudar…

é assim… pensem no seguinte problema básico: uma pessoa tem pedidos e os pedidos tem os itens de pedidos 4 tabelas (Pessoa, pedidos, itens e itensPedido)…

então penso em fazer assim: classe Pessoa, onde tem uma lista de objetos da classe Pedidos, que por sua vez tem uma lista de itens (mais ou menos com a imagem em anexo classes.jpg)

continuando, prentendo utilizar DAO… mas nesse ponto que fiquei pensando…

ao chamar Pessoa p = PessoaDAO.find(int ID);, dentro desse find, devo carregar no objeto Pessoa somente os dados básicos da Pessoa (nome, endereço, telefone, etc), ou devo também acessar o PedidosDAO e carregar a listaPedidos desta pessoa tbm, que por sua vez vai carregar a listaItens do Pedidos tbm…

outra dúvida… é comum um PessoaDAO chamar Outras classes DAO?

desculpe se estou falando algo básico… mas como disse estou meio enferrujado e estou com medo de tem problemas lá na frente…

ah… fiquem a vontade para sugerir mudanças… e se puderem compartilhar como vcs resovem esse tipo de situação…

muito Obrigado… espero ter sido claro…

valew.

Não há regras. Acho que o ideal seria organizar de acordo com o negócio. Acho que os daos devam ser chamados por outra classe, sendo possível um controle transacional entre vários daos. Essa outra classe muitas vezes é chamada de classe de negócio…

Então. sobre um Dao chamando outro Dao… eu perguntei pois, nesse exemplo mesmo… quando eu for fazer Pessoa p = PessoaDAO.find(int ID);, tipo pra preencher a listaPedidos terei que apartir do PessoaDAO chamar o PedidosDAO… então me surgiu a dúvida se essa situação é comum ou ela pode me trazer problemas futuros quanto a arquitetura…

valew pessoal…

comentem ai como vcs iriam resolver essa situação…

t+…