-
probleme de requete
Salut les gars, j'ai une application pour faire de la consultation. J'ai une page jsp ou l'utilisateur entre les critere de selection, afin d'envoyer la requette vers la base de données. Exemple:
Un utilisateur peut entré :
le nom du compte,
le chargé de compte,
la ville
Dans ce cas j'aurais une requette de type:
session.find("from accounts where nom= account and charge=chargedecompte and city=ville")
avec account, chargedecompte, ville comme donné recupéré a partir de ma jsp.
Au cas ou l'utilisateur n'utilise que 2 champs pour sa recherche, le troisieme sera a nulle, et dans ce cas la, ma requette precedente me retournera une erreur.
Est ce qu'il n y aurais pas un moyen de faire avec hibernate, sans avoir à definir pour chaque cas une requette ?
Merci infiniment les gars
-
Si tu utilises hibernate 3.x je pense que tu devrais essayer d'utiliser les Criterias et les Restrictions :
Par exemple :
Criteria search = session.createCriteria(Accounts.class);
ensuite pour chaque paramètre tu vérifies s'il n'est pas null
search.add(Restrictions.eq("nom",account);
-
merci pour la réponse. Et si jamais j'utilise hibernate 2.x ?
-
je ne connais pas hibernate 2.X.
Mais au pire tu peux aussi construire ta requête pas à pas comme avec les criterias.
Tu auras juste plus de test a faire a cause des "and" a gérer.
-
ce que je veux surtout eviter ce sont les test, avec 7 champs sa devient une vrai catastrophe, merci en tout cas :ccool:
-
Si c'est juste la répétition des tests sur la nullité qui t'ennuie, fais une méthode qui prend en argument le Criteria, le paramètre et la String de la propriété, et qui fait le addCriteria qui va bien si le paramètre n'est pas null.