2013-04-07 15 views
8

Quando si avvia la mia app vedo per ogni classe questo avvertimento:DataNucleus avvertimento: Class è stata specificata nel persistenza a unità, ma non è annotato, così ignorando

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

L'applicazione si avvia correttamente in modo non v'è alcuna emissione diretta , ma mi chiedo dove sarà questa forma, e come evitare l'id.

mio persistence.xml assomiglia:

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

Io corro la mia app su Google App Engine con la Primavera.

Ma non riesco a trovare l'origine degli avvisi. Qualcosa sembra dire alla mia app di fare un controllo per tutte le classi.

PS: Sto definendo la mia EntityManagerFactory come segue:

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

Qualsiasi aiuto apprezzato.

risposta

6

Non sono inclusi i tag < jar> o < class> nel persence.xml, quindi suppongo che l'applicazione stia cercando Entità in tutte le classi che può raggiungere. Forse stai mescolando Entity con le classi non Entity nello stesso pacchetto java. Non parli molto dei pacakges o delle tue lezioni.

+0

in effetti, e l'utente non mette "escludi-classi non elencate" da nessuna parte così lo accetta per andare fuori e scansionare il suo CLASSPATH. – DataNucleus

+3

Ho aggiunto true a persistence.xml e questo ha causato l'avviso di andare via. Le classi di entità vengono scansionate nella creazione di Spring's LocalContainerEntityManagerFactoryBean come mostrato nella domanda. Grazie dell'aiuto! –

Problemi correlati