0

データベース接続にOpenJAPを使用しているWebプロジェクトがあります。persistence.xmlを構成し、データベースに接続してデータを取得できます。しかし、コンソール出力にこのエントリが表示されています

1953  OpenJPA  TRACE  [main] openjpa.jdbc.SQL - <t 31156635, conn 6888942> executing prepstmnt 9690924 

UPDATE student 
    SET scourse = ?, sname = ?, sroll = ? 
    WHERE id = ? 
[params=?, ?, ?, ?]

これまでの私のプロジェクト全体では、プリペアドステートメントやアップデートステートメントを追加していません。OpenJPAがこのステートメントを実行する理由と、数百万の範囲のビッグデータをフェッチする場合のパフォーマンスへの影響を知りたいのですが。

4

1 に答える 1

0

build.xmlファイルに次のコードを追加しました

<!-- ***************************************************************************************************************** -->
<!-- DO NOT DELETE FOLLOWING CODE. THIS IS ADDED FOR ENCHANCING THE CLASSES AT COMPILE TIME. IT IS REQUIRED BY OPENJPA -->
<!-- Define the classpath to include the necessary files. -->
<!-- ex. openjpa jars, persistence.xml, orm.xml, and target classes  -->
<path id="jpa.enhancement.classpath">
    <!-- Assuming persistence.xml/orm.xml are in WebContent/WEB-INF/classes/META-INF -->
    <pathelement location="WebContent/WEB-INF/classes" />

    <!-- Location of the .class files -->
    <pathelement location="build/classes" />

    <!-- Add the openjpa jars -->
    <fileset dir=".">
        <include name="**/lib/*.jar" />
    </fileset>
</path>
<!-- define the openjpac task; this can be done at the top of the -->
<!-- build.xml file, so it will be available for all targets -->
<taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask" classpathref="jpa.enhancement.classpath" />

<!-- invoke enhancer on all .class files below the model directory -->
<openjpac>
    <classpath refid="jpa.enhancement.classpath" />
    <fileset dir=".">
        <include name="**/model/*.class" />
    </fileset>
</openjpac>
<echo message="Enhancement complete" />
<!-- ***************************************************************************************************************** -->

これを追加し、このbuild.xmlファイルを使用してWARファイルを作成するように日食を設定します。オブジェクトが拡張され、「準備されたステートメントの実行」トレースがログに表示されません。また、追加の「Update」ステートメントも実行されません。

于 2012-06-04T12:30:51.397 に答える