La conversion de l'Objet[] tableau Liste en java
sur un primefaces 3.5 formulaire que j'ai créé avec un datatable la rowKey valeur n'est pas retourné comme une Liste, donc j'obtiens l'erreur suivante:
JBWEB000309: type JBWEB000066: Exception report
JBWEB000068: message For input string: "foreignPartyId"
JBWEB000069: description JBWEB000145: The server encountered an internal error that prevented it from fulfilling this request.
JBWEB000070: exception
javax.servlet.ServletException: For input string: "foreignPartyId"
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
JBWEB000071: root cause
java.lang.NumberFormatException: For input string: "foreignPartyId"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
java.lang.Integer.parseInt(Integer.java:492)
java.lang.Integer.parseInt(Integer.java:527)
javax.el.ListELResolver.toInteger(ListELResolver.java:407)
javax.el.ListELResolver.getValue(ListELResolver.java:199)
...
Je sais la raison en est parce que je suis en train de remplir la table de données avec des valeurs à partir d'un Objet tableau [], plutôt qu'une Liste. L'Objet tableau[] est à dire des valeurs de getResultList() à l'aide de la createNativeQuery méthode pour interroger une base de données Oracle.
Ma question est: Comment puis-je convertir les valeurs dans l'Objet[] tableau dans une Liste, de sorte que la datatable est peuplée?
J'ai essayé d'utiliser les Tableaux.toList() la méthode, puis itérer que l'ajout de valeurs à une liste, mais je comprends que qui retourne une taille fixe la liste de sauvegarde de tableau. Il ne renvoie pas une Liste de valeurs.
Toute aide serait grandement appréciée. Toutes mes excuses si je n'ai pas fourni suffisamment de détails. Merci.
Vous devez vous connecter pour publier un commentaire.
Essayer avec ArrayList:
puis ajouter ce que l'élément que vous souhaitez à la liste à l'aide de
La
getResultList
méthode de retour d'unList<Object[]>
si vous êtes par exemple interrogation de plusieurs entités et le résultat ne peut pas être automatiquement mappé sur une entité existante de la classe.Pour éviter cela, vous pouvez envisager un constructeur expression dans votre JPA requête comme ceci:
La
getResultList()
méthode de maintenant sera de retour d'uneList<Foo>
et vous ne courez pas dans les problèmes que vous avez mentionnés.