什么是OpenJPA配置来查看在数据库中执行的SQL查询?我想查看所有参数在日志或控制台中执行的查询,而不是查看JPQL查询如何配置OpenJPA SQL日志记录?
12
A
回答
21
<property name="openjpa.Log" value="SQL=Trace" />
启用记录所有SQL语句,减去参数值。
<property name="openjpa.ConnectionFactoryProperties" value="PrintParameters=true" />
启用SQL参数的记录。
4
如果你使用log4j的,你可以设置你的log4j.properties文件如下,这将同时显示原生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
0
配置打开JPA对于Log4J的,你需要做的持久性XML以下
打开JPA配置 {'属性名=” openJpa.Log”值=” log4j的”'}
Log4j属性开放JPA CONFIGS
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
0
您好我想添加运行持久性。 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>
0
除了里克的回答,也有对用于非托管连接的连接工厂“openjpa.ConnectionFactory2Properties”属性。 (更多详细信息,请访问:https://openjpa.apache.org/builds/1.2.3/apache-openjpa/docs/ref_guide_conf_openjpa.html#openjpa.ConnectionFactory2Properties)
相关问题
- 1. 如何配置Hibernate日志记录?
- 2. 如何配置JAR的日志记录
- 3. 如何配置queue_classic日志记录
- 4. JBoss日志记录配置
- 5. 基于日志记录级别的SpringBoot日志记录配置
- 6. Python 3.4日志记录配置
- 7. 使用Lift配置日志记录
- 8. Python日志记录配置文件
- 9. 配置Teamcity的日志记录行为
- 10. Apache公共日志记录配置
- 11. 休眠4.x日志记录配置
- 12. 日志记录功能的配置
- 13. 事件日志记录的log4net配置
- 14. 在Glassfish配置公共日志记录
- 15. PL/SQL日志记录 - 如何控制?
- 16. Log4J SQL日志记录TopLink
- 17. 如何在spring java配置中设置日志记录属性?
- 18. 配置Django日志记录 - SQL和其他消息
- 19. 如何配置日志目录
- 20. 如何在GWT日志记录中配置类特定的日志级别?
- 21. 如何在Python中将日志记录配置到系统日志?
- 22. 在日志中找不到SharePoint 2010错误,如何配置日志记录?
- 23. 如何配置Microsoft企业库日志记录应用程序块以处理任何日志记录类别?
- 24. GWT日志记录设置
- 25. 日志记录位置
- 26. Zend启用SQL查询日志记录
- 27. 如何配置Grails单元测试日志记录
- 28. 如何配置jdk14日志记录模式
- 29. 如何在Django中配置Python日志记录模块?
- 30. 如何在通过Maven导入时配置jTDS日志记录?
您发布的配置不会记录SQL参数。 – Rick
它实际上会记录SQL参数。请看下面的例子的输出:(?????,,,,) INSERT INTO TCATALOG(UIDPK,CATALOG_CODE,DEFAULT_LOCALE,MASTER,NAME) VALUES [PARAMS =(长)200001(字符串)catalog133835591682111,(字符串)en_US,(int)0,(String)测试目录] – Templar
不够公平。这种行为取决于您使用的OpenJPA版本。 @了解更多详情 - https://issues.apache.org/jira/browse/OPENJPA-1678 – Rick