lebelge80
Messages postés22Date d'inscriptionmardi 10 août 2010StatutMembreDernière intervention 4 novembre 2016
-
Modifié par lebelge80 le 3/11/2016 à 14:42
lebelge80
Messages postés22Date d'inscriptionmardi 10 août 2010StatutMembreDernière intervention 4 novembre 2016
-
4 nov. 2016 à 13:36
Bonjour,
J'ai un soucis avec mon code en Java sous eclipse et Hibernate tool.
J'execute des requetes sous hibernate tool et la réponse est correcte. Par contre ma requete ne fonctionne pas dans Java. Ca fait 3 jours que je galère pour une requete qui je pense doit etre simple. Du coup je sais plus si mon problème vient de ma requete ou de mon code Java.
Je vous expose mon probleme:
J'ai 3 classes : Item, Analyse, Contact
L'item correspond au sujet majeur. L'Analyse est le constat du problème pour lequel on a ouvert l'item. Le contact est celui qui managera l'analyse. Il peut y avoir plusieurs analyse et plusieurs contact.
Ma config hibernate est la suivante :
public class Item { // les attribut de la classe Item private Integer idItem; private String nameItem= ""; private Set<Usine> usine = new HashSet<Usine>(); private Set<Analyse> nameAnalyse = new HashSet<Analyse>(); private Set<Contact> manager = new HashSet<Contact>(); private Set<Action> action= new HashSet<Action>(); private Date dateCreation = new Date(); private Date dateUpdate = new Date(); private Date heureUpdate = new Date(); private Integer statusItem; private Date dateClosed= new Date(); private Date dateCanceled= new Date(); private Date dateLastRelease= new Date(); private Set<String> produits= new HashSet<String>();
lebelge80
Messages postés22Date d'inscriptionmardi 10 août 2010StatutMembreDernière intervention 4 novembre 2016 4 nov. 2016 à 13:17
Alors je progresse :
voici une requete qui marche :
Query query = session.createQuery("select distinct a.nameAnalyse FROM Item as item " + " left join item.nameAnalyse as a " + " where item.idItem = :m "); query.setInteger("m", item.getIdItem());
le probléme est que cette requete m'affiche l'intitulé de l'analyse qui se trouve dans "nameAnalyse". Moi je veux afficher celui qui manage cette analyse. le champ "manager"
Voici la méthode que j'utilise et qui s'affiche sur la console eclipse :
Item [idItem=1, nameItem=W3-W4 welding Machine, usine=[STL], nameAnalyse=[Analyse [idAnalyse=1, nameAnalyse=Difficult to weld without bend the bimetal, action=[], manager=[moi ]]], manager=[], action=[], dateCreation=2014-06-01, dateUpdate=null, heureUpdate=null, statusItem=null, dateClosed=null, dateCanceled=null, dateLastRelease=null, produits=[Domae, C60]]
Je suis pas loin mais j'arrive pas à écrire ma requête hibernate pour mon code java.
Help please !
lebelge80
Messages postés22Date d'inscriptionmardi 10 août 2010StatutMembreDernière intervention 4 novembre 2016 4 nov. 2016 à 13:36
Ca marche !!! Pb résolu !
Voici ma requete pour quelqu'un (au cas où )
Query query = session.createQuery("select distinct b.prenom FROM Item as item " + " left join item.nameAnalyse as a " + " left join a.manager as b " + " where item.idItem = :m "); query.setInteger("m", item.getIdItem());
3 nov. 2016 à 15:12
En effet j'avais oublié ça, mais même problème.
je pense qu'il me manque des Left Join, mais j'ai du mal avec hibernate.
3 nov. 2016 à 16:05
Bonne journée