Eu estou usando o selectOeMenu do primefaces em uma tela de cadastro. O selectOneMenu carrega os dados que devem aparecer e opção escolhida é armazenada no Banco de dados e tudo mais.
O meu problema é na hora de alterar os dados, pois na tela de alteração todos os dados são carregados , porém o selectOneMenu não aparece com a opção que o usuário escolheu(ela aparece com o conjunto de opçoes mas não está selecionada a opcao que o usario escolheu).
[color=red]Há alguma forma de deixar o SelecOneMenu mostrando o dado que o usuário escolheu?[/color]
Se em “Valor:” estiver aparecendo como o esperado , creio que o seu problema pode ser equals/hashcode.
Você implementou equals e hashcode da sua entidade?
A lista com as opções aparece … mas não com a opção que o usuário escolheu selecionada…a opção que o usuario esolheu está na lista que aparece mas ela não aparece como selecionada…entenderam?
if (obj.getClass() != getClass()) {
return false;
}
Se você gerou com o Eclipse, é provável que tenha.
Se tiver, utilize o instanceof no lugar. Se não você pode cair no mesmo problema.
Será pior para descobrir o erro porque haverá equals e hashcode, mas eles não estarão funcionando quando um dos objetos for um proxy do hibernate.
Sugiro que já faça esse ajuste/revisão em todas as suas entidades, mesmo que esteja funcionando :!: