Comment recupérer le code SQL généré par Hibernate !
Bonjour à Tous !
je travaille sous Eclipse avec Hibernate3 et PostgreSQL8.2 !
Dans mon projet eclipse j'emets des requêtes en HQL et j'ai besoin de recupérer le code SQL généré par Hibernate et non le voir afficher dans la console (en mettant la propriéte show_sql d'hibernate à true dans le fichier de configuration ).
Alors comment récupérer le code SQL généré par Hibernate ? (dans une variable de type STRING par exemple)
Merci d'avance !
ca y est je l'ai !!! mon code SQL
J'ai résussi à récuperer ce fameux code SQL dans un fichier texte !!!!
J'ai user du framework log4j en passant par son fichier de configuration log4j.properties dans lequel j'ai defini 2 Appenders (destinations logigues des messages) l'un sortie Console et l'autre mon fichier texte. Ensuite j'ai affecter ces appenders à deux loggers respectivement rootLogger et org.hibernate.org (celui qui m'interesse !!!!!!!) .
Merci à JeitEmgie et tchize pour votre aide.
@ +
mes données sont bien présentes dans les deux requêtes HQL et SQL !!!
je ne comprends ce que tu entends par "données" en "?" !!
Mon probleme était d'avoir la version SQL de ma requête HQL.
Alors si ce sont les données qui sont dans la requête HQL au départ dont tu parles !! Eh bien je les ai bien dans ma requête SQL du log.
je te prends un exemple:
requête HQL: from Property_Det where RID=126;
requête SQL:
DEBUG - select property_d0_.RID as RID, property_d0_.EXIST_EN as EXIST3_102_, property_d0_.EXIST_FR as EXIST4_102_, property_d0_.NOTE_EN as NOTE5_102_, property_d0_.NOTE_FR as NOTE6_102_, property_d0_.REMARK_EN as REMARK7_102_, property_d0_.REMARK_FR as REMARK8_102_, property_d0_.SOURCE_DOC_OF_DEFINITION as SOURCE9_102_, property_d0_.DEFINITION_EN as DEFINITION10_102_, property_d0_.DEFINITION_FR as DEFINITION11_102_, property_d0_.ICON as ICON102_, property_d0_.SYNONYMOUS_NAMES_EN_1 as SYNONYMOUS13_102_, property_d0_.SYNONYMOUS_NAMES_EN_2 as SYNONYMOUS14_102_, property_d0_.SYNONYMOUS_NAMES_FR_1 as SYNONYMOUS15_102_, property_d0_.SYNONYMOUS_NAMES_FR_2 as SYNONYMOUS16_102_, property_d0_.PREFERRED_NAME_EN as PREFERRED17_102_, property_d0_.PREFERRED_NAME_FR as PREFERRED18_102_, property_d0_.SHORT_NAME_EN as SHORT19_102_, property_d0_.SHORT_NAME_FR as SHORT20_102_, property_d0_.REVISION as REVISION102_, property_d0_.DATE_OF_ORIGINAL_DEFINITION as DATE22_102_, property_d0_.DATE_OF_CURRENT_REVISION as DATE23_102_, property_d0_.DATE_OF_CURRENT_VERSION as DATE24_102_, property_d0_.FORMULA as FORMULA102_, property_d0_.DOMAIN as DOMAIN102_, property_d0_.DET_CLASSIFICATION as DET27_102_, property_d0_.FIGURE as FIGURE102_, property_d0_.PREFERRED_SYMBOL as PREFERRED29_102_, property_d0_.NAME_SCOPE as NAME30_102_, property_d0_.VERSION as VERSION102_, property_d0_.CODE as CODE102_, property_d0_.LABEL_CODE as LABEL33_102_, property_d0_.LABEL_SIZE as LABEL34_102_, property_d0_.LABEL_K as LABEL35_102_, property_d0_.IS_SYMMETRIC as IS36_102_, property_d0_.IS_TRANSITIVE as IS37_102_, property_d0_.INVERSE as INVERSE102_, property_d0_.RTYPE as RTYPE from PROPERTY_DET_E property_d0_ where property_d0_.RID=126
je retrouve bien ma donnée: 126 dans les deux requêtes !!!
Merci du partage et,
@ +