Olá,
Estou desenvolvendo um sistema bem simples em JSP + Servlets + JavaBeans e estou com algumas dúvidas. Estou estudando com base no material da Caelum.
Minha arquitetura atual é a seguinte: Tenho JavaBeans que representam as minhas tabelas (tudo bem, isso não é totalmente OO, mas eu ainda estou começando…), por exemplo, Pedido. Esses JavaBeans contém os atributos da tabela e metodos get e set. Também tenho uma classe DAO para cada JavaBean, por exemplo, PedidoDAO. Nessa classe eu faço os acessos a banco de dados, para incluir, alterar ou excluir um pedido, bem como possuo um método chamado getPedido(id) que obtém os dados do pedido e devolve um objeto do tipo Pedido.
A persistencia é feita manualmente por enquanto. Posteriormente vou utilizar o Hibernate, mas quero dar um passo de cada vez.
O problema é que a tabela Pedido tem um campo chamado ClienteId, e eu queria exibir o nome do cliente e não o código. Pensei em criar na classe Pedido um atributo chamado NomeCliente e então no método getPedido eu identificaria o código do cliente e buscaria o nome do cliente (usando cliente.getCliente(idCliente).getNome()), mas isso vincularia as classes Pedido e Cliente, e eu não sei se isso é correto. E se adotasse essa implementação, teria que fazer também a volta, ou seja, a partir do nome do cliente eu teria que obter o seu código pra gravar no banco.
Ou será que eu poderia criar na classe Pedido um atributo cliente do tipo Cliente, que conteria os dados do meu cliente? Isso seria mais correto? Sim? Não? Por que? E quanto ao fato de vincular as duas classes, algum problema?
Bom, alguém pode me dar uma luz sobre como agir em situações assim?
Obrigada.