Pegar atributo de um objeto cadastrado que tem relacionamento

2 respostas
hunterffl

Pessoal,

-> Na aplicação que tou desenvolvendo, tenho um objeto Usuario, um objeto Matricula e um objeto Turma.

-> No objeto Matricula, tenho um relacionamento pra Turma e Usuario. Ou seja, eu tenho uma tabela matrícula com id da turma e id do usuario.

-> Os usuários e turmas já estão cadastrados no banco.

-> E tenho uma tela de cadastro de matrículas onde quero cadastrar o usuário e a turma que ele pertence.

Meu método usado no bean pra cadastrar a matrícula (funcionando):

public void adicionarMatricula(ActionEvent actionEvent) { MatriculaDao dao = new MatriculaDaoImp(); System.out.println(this.matricula.getUsuarioId()); dao.save(matricula); } Até aqui funcionando, no System.out.println consigo visualizar o id do usuário que foi cadastrado naquele momento na matrícula.

-> O problema é que não quero pegar o id do usuário que ta na tabela matrícula, e sim o nome (exemplo) do usuario que acabei de cadastrar.

-> Tento

System.out.println(this.matricula.getUsuario().getNome());e recebo um NullPointerException, que era de se esperar pois não tou inserindo nada na tabela Usuario, e sim na Matricula.

Lembrando que não quero visualizar na view. Na view está tudo correto, consigo acessar os atributos como o nome do usuário que está matriculado em tal turma.
O que preciso é pegar os valores do usuario que foi matriculado para fazer umas validações no meu bean. Qualquer ajuda será bem-vinda.

2 Respostas

luxu

post as 3 classes mas axo q o erro e do nome estar em matricula…

antitribus

hunterffl:
Pessoal,

-> Na aplicação que tou desenvolvendo, tenho um objeto Usuario, um objeto Matricula e um objeto Turma.

-> No objeto Matricula, tenho um relacionamento pra Turma e Usuario. Ou seja, eu tenho uma tabela matrícula com id da turma e id do usuario.

-> Os usuários e turmas já estão cadastrados no banco.

-> E tenho uma tela de cadastro de matrículas onde quero cadastrar o usuário e a turma que ele pertence.

Meu método usado no bean pra cadastrar a matrícula (funcionando):

public void adicionarMatricula(ActionEvent actionEvent) { MatriculaDao dao = new MatriculaDaoImp(); System.out.println(this.matricula.getUsuarioId()); dao.save(matricula); } Até aqui funcionando, no System.out.println consigo visualizar o id do usuário que foi cadastrado naquele momento na matrícula.

-> O problema é que não quero pegar o id do usuário que ta na tabela matrícula, e sim o nome (exemplo) do usuario que acabei de cadastrar.

-> Tento

System.out.println(this.matricula.getUsuario().getNome());e recebo um NullPointerException, que era de se esperar pois não tou inserindo nada na tabela Usuario, e sim na Matricula.

Lembrando que não quero visualizar na view. Na view está tudo correto, consigo acessar os atributos como o nome do usuário que está matriculado em tal turma.
O que preciso é pegar os valores do usuario que foi matriculado para fazer umas validações no meu bean. Qualquer ajuda será bem-vinda.

Desculpa a minha ignorância, mas qual o sentido de ter 3 tabelas ao invés de duas (Usuário e Turma)?
Senão, você terá que criar 3 DAOs.

Criado 28 de dezembro de 2011
Ultima resposta 29 de dez. de 2011
Respostas 2
Participantes 3