[Hibernate ] récup requête SQL texte auto générée

récup requête SQL texte auto générée [Hibernate ] - Java - Programmation

Marsh Posté le 11-07-2006 à 16:31:49    

Bonjour,  
 
Je travaille sur un projet JSF/Hibernate
 
et plus précisément sur un moteur de recherche qui fait ses requetes su rune base MySQL
 
j'aimerais récupérer la requete textuelle que genère Hibernate pour envoi a MySQL
afin de controler ce qu'il génère
 
merci

Reply

Marsh Posté le 11-07-2006 à 16:31:49   

Reply

Marsh Posté le 11-07-2006 à 16:35:00    

euh... t'as lu la doc ?

 
Code :
  1. <property name="show_sql">true</property>


Message édité par brisssou le 11-07-2006 à 16:35:14

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 11-07-2006 à 16:48:35    

je vois quec'est une property
faudrait que je mette ca dans le fichier hbm.xml ?

Reply

Marsh Posté le 11-07-2006 à 17:01:41    

ok c bon j'ai trouvé
mais ce qu'il m'affiche dans la console c'est du SQL "utilisable"
c que des this_.xxxxx
ya pas moyen d'avoir une version SQL "normale"

Reply

Marsh Posté le 11-07-2006 à 17:05:40    

oué donc il m'affiche du HQL
et je voudrais récupéeer du SQL savoir ce qu'il envoie a MySQL

Reply

Marsh Posté le 11-07-2006 à 17:31:34    

la property donnée par brisssou t'affiche effectivement du sql "utilisable".
(sous forme de prepared statement, donc si tu veux aussi les valeurs associées faut logger ce qui sort de la classe org.hibernate.Type (package au pif, à vérifier)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 11-07-2006 à 17:42:20    

daprs la doc que j'ai lu cette property affiche du HQL, c a dire du SQL orienté objet, qui n'est pas directement exploitable dans une fenetre d'execution SQL
 
la classe org.Hibernate.Type (sauf si c au pif) permet de recuperer depuis la console le SQL standard ?

Reply

Marsh Posté le 11-07-2006 à 17:45:57    

jokaritaff a écrit :

daprs la doc que j'ai lu cette property affiche du HQL, c a dire du SQL orienté objet, qui n'est pas directement exploitable dans une fenetre d'execution SQL


1) je sais ce qu'est le hql
2) cette property affiche du sql
3) relis bien ou sors des preuves [:vague nocturne]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 11-07-2006 à 23:14:55    

c'est bien du SQL (Tu va nous croire OUI !!!! :-D), mais écrit par Hibernate, donc il met ce qu'il veut comme alias de table/colonne/aggrégation, c'est son problème.
 
Et pour le sujet des preparedStatement, y a p6spy qui peut te permetre de voir les requêtes effectivement passées à la base, avec des paramètres valués.

Reply

Marsh Posté le 11-07-2006 à 23:39:49    

(euh brisssou, pour info, la plupart des db (en tous cas bcp) supportent les prepared statement de maniere native, donc soit ta db ne les supporte pas - ça peut etre configuré au niveau du driver, aussi - ou alors p6spy triche et il ne te montre rien de réel - par contre, je répete que logger la categorie qui correspond à la classe Type permet de voir les bindings :p)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 11-07-2006 à 23:39:49   

Reply

Marsh Posté le 12-07-2006 à 07:51:06    

quand hbm log les requêtes, je vois toujours les marqueurs de paramètres '?'. Et si j'essaye d'exécuter ça tel quel, forcément, ça marche bof. Pour le coup de logger Type, je le note.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 12-07-2006 à 09:15:36    

ok  je vais donc voir du côté de p6spy
merci

Reply

Marsh Posté le 12-07-2006 à 13:56:10    

brisssou a écrit :

quand hbm log les requêtes, je vois toujours les marqueurs de paramètres '?'.


parce ce que c'est ce qui est réellement envoyé au driver :)
Et dans bcp de cas, le driver laisse passer ça tel quel à la db.
(d'ailleurs, plutot que de se faire chier avec p6spy, j'aurais tendance à suggérer d'aller jeter un oeil aux logs (configurés de maniere adequate) de la db... ;))


Message édité par the real moins moins le 12-07-2006 à 13:56:46

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed