1

JPA 2.0のGAE ドキュメントにenhance_warは、ant ファイルのターゲットは次のようにする必要があると記載されています。

  <target name="datanucleusenhance" depends="compile"
  description="Performs enhancement on compiled data classes.">
  <enhance_war war="war">
          <args>
          <arg value="-enhancerVersion"/>
          <arg value="v2"/>
      </args>
  </enhance_war>

ただし、これは次の場所にありますant-macros.xml

<attribute name="api" description="persistence api, JDO or JPA" default="JDO"/>

それは正しいですか、つまり、JPA の使用法を指定することは想定されていませんか?

4

1 に答える 1

2

興味深いことに、DataNucleus のドキュメントの Ant セクションを見て、次のように読みました。

api Optional. Defines the API to be used when enhancing JDO, JPA

JDO がデフォルトです。とにかく動作しているように見えますが、必要に応じて JPA として指定します。

また、マクロは多くの価値を追加しないように思われるため、拡張タスクを構成に直接統合することにしました。これにより、datanucleus にすべてのクラスをチェックさせる代わりに、Entity で終わるクラスのみを選択できます。

<target name="-datanucleusenhance" depends="compile"
        description="Performs enhancement on compiled data classes">
    <enhance failonerror="true" api="JPA">
        <arg value="-enhancerVersion"/>
        <arg value="v2"/>
        <classpath>
            <pathelement path="${main.classes.dir}"/>
            <pathelement path="${sdk.dir}/lib/appengine-tools-api.jar"/>                
        </classpath>
        <fileset dir="${war.dir}/WEB-INF/classes" includes="**/*Entity.class"/>
    </enhance>
</target>

その間に発見したことを教えてください!

于 2012-09-09T18:59:54.307 に答える