hi Hariharan Anantharaman, Didier Durand & Jonathan He * * *Thanks for the clue, i've resolved this issue.* *I'm using IntelliJ actually.* *Yeah it needs extra configuration to get rid of this issue.* * * *It is nothing todo with entity class.* * * *I think the main reason is, why don't they create a simple batch/shell script file to do this?* *I look at GAE SDK 1.3.4, actually they did this through their Ant's build.xml, but unfortunately am using Maven to automate building process which GAE didn't support it yet at a moment.* *It really helps if they just provide a simple independent batch/shell script file for this.* * * *This is what i found so far.* *If you are guys are keen to know how to solve this issue within IntelliJ, do PM me.* *I will be glad to help you out.* * * *Thanks,* *Marthen* * * * * * * On Fri, Jul 2, 2010 at 9:57 PM, Jonathan He <[email protected]> wrote:
> you can see the enhancer log which will be generated when you compile your > code. > > > 2010/7/2 Didier Durand <[email protected]> > > Hello, >> >> The enhancer sometimes doesn't start on classes. >> >> The best way I have found to make it run each time is to name >> explicitly all my jdo-annotated classes in Project Settings -> Google - >> > App Engine -> ORM under Eclipse. >> No more problem! >> Hope it works for you too >> didier >> >> On Jul 1, 1:47 pm, Marthen <[email protected]> wrote: >> > Hi guys, >> > >> > I have an simple application running on top of Spring using JPA for >> > Google AppEngine (GAE). >> > >> > There's no compilation error, but when i load my application using >> > Google AppEngine Development Server, i got runtime error saying that >> > my Entity class is not enhanced!! >> > Which kinda confusing me actually, because i deployed to another >> > container (tomcat) and this Entity classes is running smoothly (of >> > course i need to modify the persistence.xml accordingly) >> > >> > Here is my persistence.xml : >> > >> > <?xml version="1.0" encoding="UTF-8"?> >> > <persistence xmlns="http://java.sun.com/xml/ns/persistence" >> > version="1.0"> >> > <persistence-unit name="myDB"> >> > >> <provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</ >> > provider> >> > <properties> >> > <property name="datanucleus.NontransactionalRead" value="true"/> >> > <property name="datanucleus.NontransactionalWrite" value="true"/> >> > <property name="datanucleus.ConnectionURL" value="appengine"/> >> > </properties> >> > </persistence-unit> >> > </persistence> >> > >> > My Entity class : >> > >> > @Entity >> > @Table(name = "audit_trail") >> > public class AuditTrail implements java.io.Serializable { >> > private static final long serialVersionUID = 1L; >> > private Integer id; >> > >> > @Id >> > @GeneratedValue(strategy = GenerationType.IDENTITY) >> > @Column(name = "id", nullable = false) >> > public Integer getId() { >> > return id; >> > >> > } >> > >> > public void setId(Integer id) { >> > this.id = id; >> > >> > } >> > >> > private String message; >> > >> > @Column(name = "message") >> > public String getMessage() { >> > return message; >> > >> > } >> > >> > public void setMessage(String msg) { >> > this.message = msg; >> > >> > } >> > } >> > >> > And this is the error code: >> > >> > 10-07-01 11:18:22 ERROR [] [main] MetaData - Found Meta-Data for class >> > com.somecompany.demo.model.AuditTrail but this class is not enhanced!! >> > Please enhance the class before running DataNucleus. >> > org.datanucleus.exceptions.NucleusUserException: Found Meta-Data for >> > class com.somecompany.demo.model.AuditTrail but this class is not >> > enhanced!! Please enhance the class before running DataNucleus. >> > at >> > >> org.datanucleus.metadata.MetaDataManager.initialiseClassMetaData(MetaDataManager.java: >> > 2225) >> > at >> > >> org.datanucleus.metadata.MetaDataManager.initialiseFileMetaData(MetaDataManager.java: >> > 2176) >> > at >> > >> org.datanucleus.metadata.MetaDataManager.initialiseFileMetaDataForUse(MetaDataManager.java: >> > 881) >> > at >> > >> org.datanucleus.metadata.MetaDataManager.loadPersistenceUnit(MetaDataManager.java: >> > 794) >> > at >> > >> org.datanucleus.jpa.EntityManagerFactoryImpl.initialisePMF(EntityManagerFactoryImpl.java: >> > 488) >> > at >> > >> org.datanucleus.jpa.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java: >> > 355) >> > at >> > >> org.datanucleus.store.appengine.jpa.DatastoreEntityManagerFactory.<init>(DatastoreEntityManagerFactory.java: >> > 63) >> > at >> > >> org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider.createEntityManagerFactory(Datastor >> > ePersistenceProvider.java:35) >> > at javax.persistence.Persistence.createFactory(Persistence.java:172) >> > at >> > >> javax.persistence.Persistence.createEntityManagerFactory(Persistence.java: >> > 112) >> > at >> > >> org.springframework.orm.jpa.LocalEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalEnti >> > tyManagerFactoryBean.java:91) >> > at >> > >> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManage >> > rFactoryBean.java:291) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(Abstr >> > actAutowireCapableBeanFactory.java:1369) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(Abstract >> > AutowireCapableBeanFactory.java:1335) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAu >> > towireCapableBeanFactory.java:473) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory >> > $1.run(AbstractAutowireCapableBeanFactory.java:409) >> > at java.security.AccessController.doPrivileged(Native Method) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAuto >> > wireCapableBeanFactory.java:380) >> > at org.springframework.beans.factory.support.AbstractBeanFactory >> > $1.getObject(AbstractBeanFactory.java:264) >> > at >> > >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingleton >> > BeanRegistry.java:222) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java: >> > 261 >> > ) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: >> > 185) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: >> > 164) >> > at >> > >> org.springframework.orm.jpa.EntityManagerFactoryUtils.findEntityManagerFactory(EntityManagerFactoryU >> > tils.java:99) >> > at >> > >> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findNamedEntityManagerFac >> > tory(PersistenceAnnotationBeanPostProcessor.java:488) >> > at >> > >> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory( >> > PersistenceAnnotationBeanPostProcessor.java:470) >> > at >> > >> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor >> > >> $PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java: >> > 599) >> > at >> > >> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor >> > >> $PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java: >> > 570) >> > at org.springframework.beans.factory.annotation.InjectionMetadata >> > $InjectedElement.inject(InjectionMetadata.java:192) >> > at >> > >> org.springframework.beans.factory.annotation.InjectionMetadata.injectMethods(InjectionMetadata.java: >> > 117) >> > at >> > >> org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues >> > (PersistenceAnnotationBeanPostProcessor.java:321) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAu >> > towireCapableBeanFactory.java:998) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAu >> > towireCapableBeanFactory.java:472) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory >> > $1.run(AbstractAutowireCapableBeanFactory.java:409) >> > at java.security.AccessController.doPrivileged(Native Method) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAuto >> > wireCapableBeanFactory.java:380) >> > at org.springframework.beans.factory.support.AbstractBeanFactory >> > $1.getObject(AbstractBeanFactory.java:264) >> > at >> > >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingleton >> > BeanRegistry.java:222) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java: >> > 261 >> > ) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: >> > 185) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: >> > 164) >> > at >> > >> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitio >> > nValueResolver.java:269) >> > at >> > >> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDe >> > finitionValueResolver.java:104) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(Abs >> > tractAutowireCapableBeanFactory.java:1245) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAu >> > towireCapableBeanFactory.java:1010) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAu >> > towireCapableBeanFactory.java:472) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory >> > $1.run(AbstractAutowireCapableBeanFactory.java:409) >> > at java.security.AccessController.doPrivileged(Native Method) >> > at >> > >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAuto >> > wireCapableBeanFactory.java:380) >> > at org.springframework.beans.factory.support.AbstractBeanFactory >> > $1.getObject(AbstractBeanFactory.java:264) >> > at >> > >> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingleton >> > BeanRegistry.java:222) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java: >> > 261 >> > ) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: >> > 185) >> > at >> > >> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: >> > 164) >> > at >> > >> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(Defaul >> > tListableBeanFactory.java:429) >> > at >> > >> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(Abstr >> > actApplicationContext.java:728) >> > at >> > >> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.ja >> > va:380) >> > at >> > >> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java: >> > 255) >> > at >> > >> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java: >> > 199) >> > at >> > >> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java: >> > 45) >> > at >> > >> org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java: >> > 548) >> > at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) >> > at >> > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java: >> > 1250) >> > at >> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java: >> > 517) >> > at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java: >> > 467) >> > at >> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: >> > 50) >> > at >> > org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java: >> > 130) >> > at >> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java: >> > 50) >> > at... >> > >> > read more ยป >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google App Engine for Java" group. >> To post to this group, send email to >> [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<google-appengine-java%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/google-appengine-java?hl=en. >> >> > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-appengine-java%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
