Bonsoir
J'ai un petit problème avec un héritage d'EJB dans mon application. J'ai deux classes Animal et Food qui héritent de la classe Product. La stratégie utilisée pour cet héritage est de type SINGLE_TABLE avec un DiscriminatorColumn appelé product_type dans la classe Product et des DiscriminatorValue (Animal et Food) pour les deux classes qui héritent.
Je voudrais maintenant afficher la liste de tous mes produits dans une page JSF. Pour celà, j'utilise une DataTable avec un objet de type ListDataModel. Voici le code actuel :
Lorsque je lance l'application et que j'affiche cette page, j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <h:dataTable id="productsDataTable" value="#{ProductBean.listDataModel}" var="product"> <h:column> <h:outputText value="#{product.name}" /> </h:column> <h:column> <h:outputText value="#{product.price}" /> </h:column> <h:column> <h:outputText value="#{product.product_type}" /> </h:column> </h:dataTable>
Je pensais que l'attribut product_type était crée automatiquement et de façon implicite mais ce n'est apparemment pas le cas. J'ai essayé de rajouter cet attribut dans mes classes Animal et Food mais cela provoque une erreur lors de la génération des tables pendant le déploiement de l'application (colonne product_type en double).
Code : Sélectionner tout - Visualiser dans une fenêtre à part The class 'com.testapp.model.Animal' does not have the property 'product_type'.
Comment dois-je m'y prendre ?
Merci![]()
Partager