4 Stimmen

Abfangen der JDBC-Anweisungen an die Datenbank mit P6Spy in einer Hibernate-Anwendung

Ich entwickle eine Hibernate-Konsolenanwendung und verweise auf diesen Artikel http://www.mkyong.com/hibernate/how-to-display-hibernate-sql-parameter-values-solution/ den P6Spy einzurichten, um zu sehen, was der tatsächliche Wert des "(?)" des von Hibernate generierten SQL ist.

Die Einrichtung sollte gut funktionieren, da ich die von P6Spy ausgegebenen Info-/Debug-Meldungen beim Starten der Anwendung sehen kann. Danach scheint P6Spy jedoch keine JDBC-Anweisungen abfangen zu können. Aus dem von Hibernate erzeugten Protokoll (z. B: Hibernate: insert into Module (projectName, moduleName, projectId) values (?, ?, ?) ), kann er sicher sein, dass die JDBC-Anweisungen bereits an die Datenbank gesendet werden.

Meine Einstellung ist die folgende:

hibernate.cfg.xml

  • Bereits festgelegt für die Verwendung des P6Spy Treibers: <property name="hibernate.connection.driver_class">com.p6spy.engine.spy.P6SpyDriver</property>
  • Bereits eingeschaltet ist die hibernate.show_sql-Eigenschaft aktiviert: <property name="hibernate.show_sql">true</property>

spy.properties

  • Bereits geändert, um meine aktuelle Datenbank JDBC-Treiber , Filter gesetzt auf false , includecategories bereits explizit so eingestellt, dass alles protokolliert wird.
module.log=com.p6spy.engine.logging.P6LogFactory
realdriver=oracle.jdbc.driver.OracleDriver
filter=false
dateformat=yyyy.MM.dd HH:mm:ss
excludecategories=
includecategories=error, info, batch, debug,statement,commit,rollback,result
appender=com.p6spy.engine.logging.appender.StdoutLogger

Verpasse ich eine wichtige Einstellung?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X