Co to jest konfiguracja OpenJPA do przeglądania zapytań SQL wykonywanych w bazie danych? Chciałbym zobaczyć zapytania ze wszystkich parametrów zawartych w dzienniku lub konsoli zamiast oglądania zapytanie JPQLJak skonfigurować logowanie SQL OpenJPA?
Odpowiedz
<property name="openjpa.Log" value="SQL=Trace" />
Włącza rejestrowanie wszystkich instrukcji SQL, minus wartości parametrów.
<property name="openjpa.ConnectionFactoryProperties" value="PrintParameters=true" />
Umożliwia rejestrację parametrów SQL.
Jeśli używasz log4j można skonfigurować plik twoi log4j.properties następująco, które będą wyświetlane zarówno zapytanie SQL rodzimych i wszelkie parametry:
log4j.rootLogger=WARN, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%-5p %t %d{ISO8601} %l - %m%n
log4j.category.openjpa.jdbc.SQL=TRACE
Aby skonfigurować Otwórz JPA dla log4j, należy wykonać następujące czynności w zakresie trwałości xml
Otwartych JPA Konfiguracje { 'name property =”openJpa.Log” value =”log4j”'}
właściwości Log4J dla configs Otwarte WZP
log4j.logger.openjpa.Query = TRACE log4j.logger.openjpa.jdbc.SQL = TRACE
http://openjpa.apache.org/builds/1.0.1/apache-openjpa-1.0.1/docs/manual/ref_guide_logging_log4j.html
Cześć Chcę dodać uruchomiony wytrwałości. plik xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="EHS_PU">
<jta-data-source>mysqlDataSource</jta-data-source>
<class>com.ap.entity.EHSDo</class>
<class>com.ap.entity.EventDo</class>
<properties>
<property name="openjpa.Log" value="log4j" />
<property name="openjpa.ConnectionFactoryProperties" value="PrintParameters=true" />
</properties>
</persistence-unit>
</persistence>
Oprócz odpowiedzi Ricka, istnieje również „openjpa.ConnectionFactory2Properties” własność dla fabryk połączeń wykorzystywanych do połączeń niezagospodarowanych. (więcej szczegółów tutaj: https://openjpa.apache.org/builds/1.2.3/apache-openjpa/docs/ref_guide_conf_openjpa.html#openjpa.ConnectionFactory2Properties)
Opublikowana konfiguracja nie będzie rejestrować parametrów SQL. – Rick
W rzeczywistości rejestruje parametry SQL. Patrz przykład wyjściowe: (???,,,,) WKŁADKA DO TCATALOG (UIDPK, CATALOG_CODE, DEFAULT_LOCALE, Master NAME) WARTOŚCI [params = (długości) 200001 (ciąg) catalog133835591682111 (ciąg) en_US, (int) 0, (String) Test Catalog] – Templar
Wystarczająco fair. To zachowanie zależy od wersji OpenJPA, której używasz. @Zobacz szczegółowe informacje - https://issues.apache.org/jira/browse/OPENJPA-1678 – Rick