English 中文(简体)
我如何配置 OpenJPA SQL 记录?
原标题:How do I configure OpenJPA SQL logging?
  • 时间:2012-05-24 07:59:05
  •  标签:
  • openjpa

OpenJPPA 配置在数据库中查看已执行的 SQL 查询是什么? 我想用在日志或控制台中执行的所有参数来查看查询, 而不是查看 JPQL 查询

问题回答
<property name="openjpa.Log" value="SQL=Trace" />

启用所有 SQL 语句的登录, 减去参数值 。

<property name="openjpa.ConnectionFactoryProperties" value="PrintParameters=true" />

启用 SQL 参数记录 。

Logging文档

如果您正在使用log4j, 您可以设置您的log4j. propertys 文件如下, 它将同时显示本地的 SQL 查询和任何参数 :

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

要为 Lolog4JJJPJPA 配置打开 JPA,您需要用持久性 xml 进行以下操作

Open JPA Configurations { property name=”openJpa.Log” value=”log4j” }

打开 JPPA 配置的log4j 属性

log4j.logger.openjpa.Query=TRACE log4j.logger.openjpa.jdbc.SQL=TRACE

http://openjpa.apache.org/buildings/1.0.1/apache-openjpa-1.0.1/docs/manual/ref_guide_lob_log4j.html

Hi 我想添加正在运行的持久性. 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>

除了瑞克回答外,还有“openjpa.comnctionFactory2Property2Porties”产权,用于连接未管理连接的连接工厂。 (详情见: