Hi all,
I develop a application with GAE.
I have problem :

javax.jdo.JDOFatalUserException: Error in meta-data for
com.vht.app.om.admin.User.locationCreate: Class
com.vht.app.om.admin.User has multiple relationship fields of type
com.vht.app.om.admin.Location: locationCreate and locationCheckIn.
This is not yet supported.
        at
org.datanucleus.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:
354)
        at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:230)
        at com.vht.app.dao.UserDAO.getList(UserDAO.java:32)
        at
com.vht.app.web.controller.admin.InsertDataController.handleRequestInternal(InsertDataController.java:
38)
        at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:
153)
        at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:
48)
        at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:
788)
        at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:
717)
        at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:
644)
        at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:
549)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
        at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:
88)
        at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
76)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
70)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
58)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
122)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
        at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
70)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:351)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
        at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:582)
NestedThrowablesStackTrace:
Error in meta-data for com.vht.app.om.admin.User.locationCreate: Class
com.vht.app.om.admin.User has multiple relationship fields of type
com.vht.app.om.admin.Location: locationCreate and locationCheckIn.
This is not yet supported.
org.datanucleus.store.appengine.MetaDataValidator
$DatastoreMetaDataException: Error in meta-data for
com.vht.app.om.admin.User.locationCreate: Class
com.vht.app.om.admin.User has multiple relationship fields of type
com.vht.app.om.admin.Location: locationCreate and locationCheckIn.
This is not yet supported.
        at
org.datanucleus.store.appengine.MetaDataValidator.newMultipleRelationshipFieldsOfSameType(MetaDataValidator.java:
284)
        at
org.datanucleus.store.appengine.MetaDataValidator.validateField(MetaDataValidator.java:
264)
        at
org.datanucleus.store.appengine.MetaDataValidator.validateFields(MetaDataValidator.java:
148)
        at
org.datanucleus.store.appengine.MetaDataValidator.validate(MetaDataValidator.java:
121)
        at
org.datanucleus.store.appengine.DatastoreManager.validateMetaDataForClass(DatastoreManager.java:
766)
        at
org.datanucleus.store.appengine.query.DatastoreQuery.performExecute(DatastoreQuery.java:
214)
        at
org.datanucleus.store.appengine.query.JDOQLQuery.performExecute(JDOQLQuery.java:
89)
        at org.datanucleus.store.query.Query.executeQuery(Query.java:1489)
        at org.datanucleus.store.query.Query.executeWithArray(Query.java:
1371)
        at org.datanucleus.store.query.Query.execute(Query.java:1344)
        at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:221)
        at com.vht.app.dao.UserDAO.getList(UserDAO.java:32)
        at
com.vht.app.web.controller.admin.InsertDataController.handleRequestInternal(InsertDataController.java:
38)
        at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:
153)
        at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:
48)
        at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:
788)
        at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:
717)
        at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:
644)
        at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:
549)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
511)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1166)
        at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:
88)
        at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
76)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
70)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
58)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
122)
        at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
        at
com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
70)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:351)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
        at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
409)
        at org.mortbay.thread.QueuedThreadPool
$PoolThread.run(QueuedThreadPool.java:582)

Class User :
package com.vht.app.om.admin;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Set;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.google.appengine.api.datastore.Key;

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class User implements Serializable {
        @PrimaryKey
        @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
        private Key key;
        @Persistent
        private String username;

        @Persistent
        private String password;

        @Persistent
        private String firstName;

        @Persistent
        private String lastName;

        @Persistent
        private int age;

        @Persistent(mappedBy = "userCreate")
        private Set<Location> locationCreate;

        @Persistent
        private Set<Location> locationCheckIn;

        public Key getKey() {
                return key;
        }

        public void setKey(Key key) {
                this.key = key;
        }

        public String getUsername() {
                return username;
        }

        public void setUsername(String username) {
                this.username = username;
        }

        public String getPassword() {
                return password;
        }

        public void setPassword(String password) {
                this.password = password;
        }

        public String getFirstName() {
                return firstName;
        }

        public void setFirstName(String firstName) {
                this.firstName = firstName;
        }

        public String getLastName() {
                return lastName;
        }

        public void setLastName(String lastName) {
                this.lastName = lastName;
        }

        public int getAge() {
                return age;
        }

        public void setAge(int age) {
                this.age = age;
        }

        public Set<Location> getLocationCreate() {
                return locationCreate;
        }

        public void setLocationCreate(Set<Location> locationCreate) {
                this.locationCreate = locationCreate;
        }

        public Set<Location> getLocationCheckIn() {
                return locationCheckIn;
        }

        public void setLocationCheckIn(Set<Location> locationCheckIn) {
                this.locationCheckIn = locationCheckIn;
        }

}

Class Loation :

package com.vht.app.om.admin;

import java.io.Serializable;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.google.appengine.api.datastore.Key;

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Location implements Serializable {

        @PrimaryKey
        @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
        private Key key;

        @Persistent
        private String name;

        @Persistent
        private User userCreate;

        public Key getKey() {
                return key;
        }

        public void setKey(Key key) {
                this.key = key;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public User getUserCreate() {
                return userCreate;
        }

        public void setUserCreate(User userCreate) {
                this.userCreate = userCreate;
        }

}

Problem : javax.jdo.JDOFatalUserException: Error in meta-data for
com.vht.app.om.admin.User.locationCreate: Class
com.vht.app.om.admin.User has multiple relationship fields of type
com.vht.app.om.admin.Location: locationCreate and locationCheckIn.
This is not yet supported.
Please help me !

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" 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?hl=en.

Reply via email to