¡Estoy completamente fresco tanto para JDO como para GAE, y he estado luchando para que mi capa de datos persista en cualquier código!No se pueden persistir objetos en GAE JDO
Los problemas a los que me enfrento pueden ser muy simples, pero parece que no puedo encontrar ninguno, sin importar qué solución intente.
primer lugar el problema: (ligeramente simplificada, pero todavía contiene toda la información necesaria) Mi modelo de datos es como tal:
User:
(primary key)
String emailID
String firstName
Car:
(primary key)
User user
(primary key)
String registration
String model
Este fue el modelo de datos inicial. Implementé un objeto CarPK para obtener una clave primaria compuesta del usuario y el registro. Sin embargo, eso se encontró con una variedad de problemas. (Que voy a guardar para otro momento/pregunta)
luego cambié el diseño como tal: usuario: (Sin cambios)
Car:
(primary key)
String fauxPK (here fauxPK = user.getEmailID() + SEP + registration)
User user
String registration
String model
Esto funciona muy bien para el usuario, y se puede insertar y recuperar usuario objetos. Sin embargo cuando intento insertar un objeto de coches, me sale el siguiente error:
"Cannot have a java.lang.String primary key and be a child object"
Found the following helpful link about it:
http://stackoverflow.com/questions/2063467/persist-list-of-objects
Fuimos al enlace sugirió allí, que explica cómo crear claves, sin embargo, sigue hablando de "grupos de entidades" y "Grupo Entidad Padres ". Pero no puedo encontrar ningún artículo o sitio que explique qué son "Entity Group" o "Entity Group Parents"
Podría tratar de juguetear un poco más para descubrir si puedo almacenar un objeto de alguna manera, pero estoy corriendo por la paciencia y también preferiría comprenderlo e implementarlo que viceversa.
Así que apreciaría cualquier documento (incluso si es enorme) que cubre todos estos puntos, y preferiblemente tiene algunos ejemplos que van más allá del modelado de datos muy básico.
Y gracias por la lectura de un largo post tales :)
Por favor, incluye tu código. – Finbarr