2009-02-10 8 views
3

Les requêtes HQL sont converties en SQL.Chaîne SQL à partir d'une requête HQL?

Je voudrais que mon programme ait la chaîne SQL complète avant qu'elle ne soit envoyée à ma base de données.

Puis-je faire ceci?


Notes:

Je peux voir le SQL envoyé à la base de données en définissant

<property name="hibernate.show_sql">true</property> 

dans mon cfg.xml

Répondre

4

Je crois que vous pouvez créer une classe implémente org.hibernate.Interceptor, l'enregistrer avec Configuration.setInterceptor(Interceptor) au démarrage, puis accéder au SQL via le Interceptor.onPrepareStatement(String sql) rappel.

Voir Interceptor javadocs