Dúvida (Hibernate) - JSF

6 respostas
java
M

Galera,

estou com uma dúvida de como solucionar um problema:

  1. Estou fazendo um cadastro de funcionário, e nesse cadastro possui já departamentos cadastrados no banco, então nesse momento percorro o banco para apresentar os dados na view, mas quando finalizo o cadastro, esse “departamento” selecionado anteriormente ao invés de só cadastrar o ele como o id do departamento, ele está criando um novo departamento e salva na tabela funcionário o novo id.

Método para recuperar os departamentos:

`public List getProjetos() {

ProjetoDAO projetoDAO = new ProjetoDAO();
	List<Projeto> listaProjeto = projetoDAO.listarProjeto();
		
	return listaProjeto;
}`
  1. Estou fazendo o lazy no momento que chama o get do “departamento”, sei que o problema é aqui, porque sempre que ele dá o get, vai criar um novo.

public Projeto getProjeto() { if (projeto == null) { projeto = new Projeto(); } return projeto; }

A dúvida é como fazer para que ele verifica que já existe esse departamento e não criar um novo?

6 Respostas

alexfe

o seu objeto responsavel por mostrar os dados na tela no caso o objeto selecionado não está sendo atribuido o valor do ID dele, com isso o hibernate cria um novo e não atualiza porque está sem o ID

M

Então, essa que é a questão, como faço para que o hibernate entenda que desejo o ID do projeto que foi selecionado na view, e não crie outro projeto com os mesmos valores.

alexfe

Vc tem que ter um objeto projeto dentro do seu managedBean ele receberá a instancia do objeto projeto selecionado dai vc veja na net o setPropertActionListener

M

ok, vou pesquisar aqui e vê se dar certo!

alexfe

Se for do seu interesse AQUI possui um projeto desenvolvido por mim que contem tudo que precisa saber para desenvolver um bom projeto.

M

o link tá expirado.

Criado 18 de maio de 2016
Ultima resposta 27 de mai. de 2016
Respostas 6
Participantes 2