8

启动我的应用程序时,我会为每个班级看到以下警告:

WARN  [DataNucleus.MetaData] - Class com.mycomp.MyClass was specified in persistence-unit myPersistenceUnit but not annotated, so ignoring

该应用程序正确启动,因此没有直接问题,但我想知道这个表格在哪里,以及如何避免 id。

我的 persistence.xml 看起来像:

<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>

我正在使用 Spring 在 Google App Engine 上运行我的应用程序。

但我找不到警告的来源。有些东西似乎在告诉我的应用程序对所有课程进行一些检查。

PS:我正在定义我的 entityManagerFactory 如下:

@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
    LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
    entityManagerFactory.setPersistenceUnitName("myPersistenceUnit");
    entityManagerFactory.setPersistenceUnitPostProcessors(new ClasspathScanningPersistenceUnitPostProcessor("com.mycomp.domain"));
    return entityManagerFactory;
}

任何帮助表示赞赏。

4

1 回答 1

6

您的persistence.xml 中没有包含任何< jar-file > 或< class > 标签,所以我的猜测是您的应用程序正在搜索它可以访问的所有类中的实体。也许您在同一个 java 包中混合了实体和非实体类。你真的没有说太多关于pacakges或你的课程。

于 2013-04-08T15:36:42.897 回答