Converter genérico para entidades
Criei recentemente um converter capaz de pegar uma entidade do hibernate, obter o seu código identificador e atribuí-lo a um componente, e mais, ao enviar os dados para o servidor esse converter obtém o código informado e carrega a entidade correspondente no banco de dados, tudo isso automaticamente, no final ficou assim:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <h:selectOneMenu value="#{bean.sistemaSelecionado}" converter="#{entityConverter.entity['Sistema;codigo']}"> <s:selectItems value="#{bean.sistemas}" var="sistema" itemLabel="#{sistema.nome}" itemValue="#{sistema}" /> </h:selectOneMenu> ou <h:selectOneMenu value="#{bean.sistemaSelecionado}"> <fbr:entityConverter entity="Sistema" idProperty="codigo"/> <s:selectItems value="#{bean.sistemas}" var="sistema" itemLabel="#{sistema.nome}" itemValue="#{sistema}" /> </h:selectOneMenu> |
e no meu bean bastou isso:
1 | Sistema sistema = sistemaSelecionado; |
Agora ficou mais simples e automático o processo envolvendo a recuperação de entidades do hibernate.
Faça o download do clicando aqui.