I just installed it here about a week ago, so I think I have the
latest versions
Im using the eclipse plugin, I use eclipse 3.5 (Galileo) on Ubuntu
9.04 (Jaunty)
The appengine version is: 1.2.2.v200907291526
Item is a class similar to Area, same annotations, similar fields,
AreaType is an enum
Area and Item have @PersistenceCapable
(identityType=IdentityType.APPLICATION), AreaType has
@PersistenceAware
I found out that the endless loop only happens when I save a class/
enum that has the @PersistenceAware annotation
However, if I just switch to another class that doesn't have
@PersistenceAware the loop ends, so I guess it's not a big problem
To prevent the one-to-many bug between objects of the same type, in
Area I replaced ArrayList<Area> borderAreas, by ArrayList<Keys>
borderAreaKeys
I'm not getting the "has no table in the database" warning anymore,
now I get this:
Nested in javax.servlet.ServletException: init:
java.lang.NoClassDefFoundError: javax/jdo/metadata/TypeMetadata
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at
com.google.apphosting.runtime.security.shared.intercept.java.lang.Class_.loadClassOrStub
(Class_.java:261)
at
com.google.apphosting.runtime.security.shared.intercept.java.lang.Class_.access
$100(Class_.java:37)
at
com.google.apphosting.runtime.security.shared.intercept.java.lang.Class_
$3.run(Class_.java:131)
at
com.google.apphosting.runtime.security.shared.intercept.java.lang.Class_
$3.run(Class_.java:116)
at java.security.AccessController.doPrivileged(Native Method)
at
com.google.apphosting.runtime.security.shared.intercept.java.lang.Class_.forName
(Class_.java:116)
at javax.jdo.JDOHelper$18.run(JDOHelper.java:2009)
at javax.jdo.JDOHelper$18.run(JDOHelper.java:2007)
at
com.google.apphosting.runtime.security.shared.intercept.java.security.AccessController_.doPrivileged
(AccessController_.java:45)
at javax.jdo.JDOHelper.forName(JDOHelper.java:2006)
at
javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation
(JDOHelper.java:1155)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:
803)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:
1086)
at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:
914)
at com.wander.wave.zombify.PMF.<clinit>(PMF.java:7)
at com.wander.wave.zombify.ZombifyServlet.<init>(ZombifyServlet.java:
11) //<--- this is where I use, manager = PMF.get
().getPersistenceManager();
<!--etc-->
Its still not inserting anything in the database, when I go to Data
Viewer it says "No Data Yet."
Any idea what can cause this?
On Aug 27, 8:48 pm, "Jason (Google)" <[email protected]> wrote:
> Are you using the Eclipse plugin? If so, what platform are you running? What
> version of the SDK are you using?
> As far as the first issue goes, are AreaType and Item also persistent
> classes? Also, there appears to be a bug with owned one-to-many
> relationships between objects of the same type, so if you're able to resolve
> the initial error but you don't see any entities persisted, this is the
> reason.
>
> - Jason
>
>
>
> On Wed, Aug 26, 2009 at 1:10 PM, Wander <[email protected]> wrote:
>
> > I still haven't solved the problem above, a new one turned up however.
> > Datanucleus keeps looping on forever as soon as I edit and save a
> > class. Could this be related, and how can I solve it?
>
> > Thanks
>
> > On Aug 26, 5:09 am, Wander <[email protected]> wrote:
> > > Hi all
>
> > > I'm trying to use the datastore in app engine (for the first time),
> > > but I get the following warning:
> > > javax.jdo.JDOUserException: Persistent class "com.wander.etc.etc.Area"
> > > has no table in the database, but the operation requires it. Please
> > > check the specification of the MetaData for this class.
>
> > > This is the piece of code:
> > > PersistenceManager manager = PMF.get().getPersistenceManager();
> > > Area area = new Area("something",AreaType.OUTSIDE);
> > > manager.makePersistent(area);
>
> > > And this is a part of the Area class:
> > > @PersistenceCapable(identityType=IdentityType.APPLICATION)
> > > public class Area{
> > > @PrimaryKey
> > > @Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
> > > private Key key;
> > > @Persistent
> > > private String name;
> > > @Persistent
> > > private AreaType areaType;
> > > @Persistent(mappedBy="key")
> > > private ArrayList<Area> borderAreas;
> > > @Persistent(mappedBy="key")
> > > private ArrayList<Item> items;
> > > //etc
>
> > > I've searched at google for the problem, but got very few results
> > > One of them was about adding some class information to jdoconfig.xml,
> > > but at another page I read that this wouldnt be needed, because it's
> > > schemaless
>
> > > I'm using eclipse, got all needed plugins installed (as far as I can
> > > see), and apart from the datastore everything seems to be working fine
> > > , I don't get any errors in the console when deploying
>
> > > Could anyone tell me what I'm doing wrong?
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---