Cargando un SelectOneMenu con primefaces, JSF, Netbeans - Cannot convert 'id' of type class java.Lang.Integer

Hola a todos, en esta oportunidad me tocó resolver un problema con JSF y primefaces, lo que pasa es que he tratado de cargar un Drop Down de una tabla Tipovehiculo a otra llamada Vehiculo, y el principal problema con el que me topé, es que aparte de la documentación en la página de Primefaces, al cargar desde la BD, se tiene que usar un converter, para que puedas pasar los ids de una clase a otra.
Pues bien, para empezar estoy usando lo siguiente:
  • Netbeans 8.0.1
  • Primefaces 4.0
  • Hibernate 4.3.1
  • JSF 2.2
  • Omnifaces 2.1
En todos los tutoriales indican que se tiene que crear un JSF Managed Bean de tipo Request que implemente la clase Javax.faces.converter; pues para mi caso lo único que tuve que hacer es agregar un lib llamado Omnifaces, el cual me hace todo de forma transparente:

Empezamos con la vista:
pueden apreciar que declaro el converter:SelectItemsConverter y al momento de pasar los datos en SelectItems, paso un objeto en ItemValue.

El Bean: tipoVehiculo, hace un llamado a una Lista de vehiculos, el método es sencillo y lo van a encontrar en cualquier foro.

ahora para que el converter trabaje sin ningún problema, tienen que agregar unas lineas de código al modelo, entidad o como lo llamen, en mi caso tengo que agregar al modelo Tipovehiculo que es la clase que me genera el hibernate:
Antes de que me digan que presentan problemas por el tipo de dato del Id, pues para que pueda funcionar de manera correcta, en caso de que al Id lo hayan declarado como int tienen que cambiar a tipo Integer y modificar sus getters y setters.

Y finalmente tienen que implementar el Serializable en todos sus beans y así mismo agregar una línea de código al hibernate.cfg.xml:
Se trata de la propiedad Lazy.

Bueno eso es todo, si les ha gustado compártanlo en las redes.

Saludos
Cargando un SelectOneMenu con primefaces, JSF, Netbeans - Cannot convert 'id' of type class java.Lang.Integer Cargando un SelectOneMenu con primefaces, JSF, Netbeans - Cannot convert 'id' of type class java.Lang.Integer Reviewed by Unknown on 6:57:00 Rating: 5

No hay comentarios:

Con la tecnología de Blogger.