在hibernate中   可以在hibernate.cfg.xml文件中配置属性
shouw_sql = true来显示操作实体产生的sql语句  不知道在openjpa中要如何配置,求解!!!!!!!!!!

解决方案 »

  1.   

    百度数据库是 derby 数据库:<?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns=" http://java.sun.com/xml/ns/persistence"
    xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"
    version="1.0">
    <persistence-unit name="icerain" transaction-type="RESOURCE_LOCAL">
    <class>com.xunjie.pojo.User</class>
    <properties>
    <property name="openjpa.ConnectionURL" value="jdbc:derby:f:\icerainDB;create=true;"/>
    <property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
    <property name="openjpa.ConnectionUserName" value="icerain"/>
    <property name="openjpa.ConnectionPassword" value="123456"/>
    <!--显示SQL执行语句-->
    <property name="openjpa.Log" value="SQL=TRACE"/>
    </properties>
    </persistence-unit>
    </persistence>
      

  2.   

    打印SQL日志<property name="openjpa.Log" value="SQL=TRACE"/>其中,TRACE为日志的级别,OpenJPA的日志级别从低到高分别是TRACE、INFO(默认)、WARN、ERROR和FATAL。如果要打印出格式化后的SQL,可以对属性“openjpa.ConnectionFactoryProperties”进行配置,代码如下:<property name="openjpa.Log" value="SQL=TRACE"/><property name="openjpa.ConnectionFactoryProperties" value="PrettyPrint=true, PrettyPrintLineLength=72"/>其中,PrettyPrint=true表示格式化输出SQL,PrettyPrintLineLength=72表示默认的一行为72个字符长度。(3)openjpa.Log的值可以由以下4部分组成,配置的每个部分用逗号分隔。— File:可以指定日志保存的文件。— DefaultLevel:日志默认的级别。— DiagnosticContext:在所输出的日志前增加诊断信息。— <channel>:日志类别,如表14-4所示。示例一:标准的日志配置<property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO"/>示例二:标准的日志配置和所有的SQL日志<property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE"/>示例三:标准的日志配置同时保存到指定文件中<property name="openjpa.Log" value="File=/tmp/org.apache.openjpa.log,DefaultLevel=WARN,Runtime=INFO, Tool=INFO"/>
      

  3.   


    我用过同样的方法  但是执行的时候 控制台没有SQL语句  是什么原因啊?
      

  4.   

    <!--显示SQL执行语句-->
    <property name="openjpa.Log" value="SQL=TRACE"/>
    </properties>
    我怎么加上这一段代码也没有在控制台显示啊?