Qual é a forma certa de implementar um Model/DAO de uma tabela com fks?

2 respostas
B

Por exemplo,
No banco de dados minha tabela usuarios tem uma FK departamento_id, que faz referencia a tabela de departamentos.
Quando meu programa precisa listar os usuarios, precisa também trazer junto o nome do departamento
Queria saber qual é a forma correta para escrever as classes de model e dao referentes ao usuario
As formas que eu consegui pensar foram essas
1ª-> A classe Usuario tem um objeto Departamento. Sempre que eu pedir pro DAO listar os usuarios ele além de criar os objetos usuarios, também criará um objeto Departamento e apontará a referencia do departamento de Usuario à esse objeto. E na hora de criar um novo usuário, também precisarei criar um departamento para o DAO inserir no banco.

2ª->A classe Usuario tem uma propriedade departamentoNome e departamentoId. departamentoNome é para exibir a lista de usuarios na tela, e departamentoId é usada para salvar um novo usuário no banco de dados.

2 Respostas

B

Olá Blachmage,

Pelo visto você não está usando nenhum framework de persistência, onde está fazendo os métodos DAO na “unha”.
Quando eu faço desta forma que você está trabalhando, faço parecido com a forma que você descreveu 1º. Na classe usuário eu colocaria um atributo do tipo Departamento. Para listar os usuários, no método DAO responsável para isso, eu verifico se a FK_DEPARTAMENTO está nula. Se não tiver nula, chamo um método do DAO Departamento que recebe o Código do departamento e retorna um objeto do tipo Departamento e atribuo este resultado ao atributo departamento do objeto usuário.

Faço desta forma. Se tiver outra forma de fazer, vou aprender junto com você.

Abraço!

ViniGodoy

Tópico movido para o fórum de persistência.
Por favor, leia com atenção a lista de fóruns antes de postar.

Criado 14 de julho de 2012
Ultima resposta 15 de jul. de 2012
Respostas 2
Participantes 3