Bonjour,
Je cherche surtout une bonne pratique concernant la création + persistence d'une entité.
Voila, j'ai une classe @Entity Affaire avec ses propriétés et ceci:
Bien entendu les classes Client, ChargeAffaire et Contact font référence à Affaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 @JoinColumn(name = "IDCONTACT", referencedColumnName = "IDCONTACT") @ManyToOne private Contact contact; @JoinColumn(name = "IDCLIENT", referencedColumnName = "IDCLIENT", nullable=false) @ManyToOne private Client client; @JoinColumn(name = "IDCHARGEAFFAIRE", referencedColumnName = "IDCHARGEAFFAIRE") @ManyToOne private ChargeAffaire chargeAffaire;
Maintenant dans la page JSF pour la création d'une affaire j'ai des h:selectOneListbox qui obtiennent leurs f:selectItems de différents managed bean (ClientCtrlBean, ChargeAffaireCtrlBean).
J'espère être clair jusque là.
Donc sur ma page JSF lorsque je selectionne une valeur dans un de mes combobox, il me renvoie un (int, long,...), et pas l'objet en question.
Ce qui fait que dans mon managed-bean AffaireCtrlBean, je dois faire des findBy(idClient) pour re-récupérer le client sélectionné.
Je trouve cela un peu tordu, et peu performant.
N'est-il pas possible de récupérer LE client selectionné directement du style:
Comment faites-vous pour améliorer ce processus?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <h:outputText value="#{bundle.nomClient} :"/> <h:selectOneListbox value="#{affaireCtrlBean.affaire.client}" size="1"> <f:selectItems value="#{clientCtrlBean.selectItemClientsAll}" /> </h:selectOneListbox>
Merci, et j'espère avoir été assez clair.
Partager