を無視して、注釈を付けていなかった。何の直接的な問題はありませんので、DataNucleusの警告:クラスは、永続性単位で指定されたが、私のアプリを起動すると私はすべてのクラスのために、この警告を参照
WARN [DataNucleus.MetaData] - Class com.mycomp.MyClass was specified in persistence-unit myPersistenceUnit but not annotated, so ignoring
アプリが正常に起動しますしかし、私はどこにこのようなフォームと、どのようにIDを避けるために思っています。
<persistence-unit name="myPersistenceUnit">
<provider>org.datanucleus.api.jpa.PersistenceProviderImpl</provider>
<properties>
<property name="datanucleus.ConnectionURL" value="appengine" />
<property name="datanucleus.NontransactionalRead" value="true" />
<property name="datanucleus.NontransactionalWrite" value="true" />
<property name="datanucleus.appengine.datastoreEnableXGTransactions" value="true" />
<property name="datanucleus.jpa.addClassTransformer" value="false" />
</properties>
</persistence-unit>
私は春にはGoogle App Engine上で自分のアプリケーションを実行している:
私のpersistence.xmlは次のようになります。
しかし、私は警告の起源を見つけることができません。 何かが私のアプリにすべてのクラスについて何らかのチェックをするように指示しているようです。
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
entityManagerFactory.setPersistenceUnitName("myPersistenceUnit");
entityManagerFactory.setPersistenceUnitPostProcessors(new ClasspathScanningPersistenceUnitPostProcessor("com.mycomp.domain"));
return entityManagerFactory;
}
すべてのヘルプは大歓迎:
PSは、次のように私は私のEntityManagerFactoryを定義しています。
実際、ユーザーは「exclude-unlisted-classes」をどこにでも置かないので、そこから離れて自分のCLASSPATHをスキャンすることができます。 – DataNucleus
persistence.xmlに true exclude-unlisted-classes>を追加したため、警告が消えてしまいました。エンティティクラスは、質問に示すように、SpringのLocalContainerEntityManagerFactoryBeanの作成時にスキャンされます。助けてくれてありがとう! –