Also make sure that you use Integer instead of int, Double instead of double, etc. since the latter cannot be set to null. Mujtaba is right -- App Engine's datastore is built on top of BigTable which you can think of (simplistically) as a large hash table, so you can freely add properties; these will be set to null for those entities that don't have data associated with these property names. Be advised that removing field from a JDO or JPA class does not automatically clear the data associated with the corresponding properties in the datastore.
- Jason On Mon, Aug 17, 2009 at 12:28 PM, victor <[email protected]> wrote: > > I tried what you suggested and I get the following exception: > > Datastore entity with kind ...has a null property named > voteDownCount. This property is mapped to ..., which cannot accept > null values. > > It looks like I have some missing parameters in the > @Persistentannotation? I was thinking it would be the "nullValue" > parameter but it does not seem to be the case. > Does anyone know what would this be? > > Thanks! > > > On Aug 16, 11:48 pm, Mujtaba Hassan <[email protected]> wrote: > > This issue has been discussed on the forum. > > > > Just add your the new field in the ClassA and start your development, the > > old records will store null associated with the new field. > > > > On Mon, Aug 17, 2009 at 8:30 AM, victor <[email protected]> wrote: > > > > > This seems to be a common use case but I cannot seem to find the > > > answer to this in the forum. Let us say I have defined a persistent > > > class: > > > class A { > > > private String field; > > > //get set methods removed for clarity > > > } > > > > > Supposed that this class worked out fine and I have already deployed > > > my app and populated my tables with it. But then it just occurred to > > > me that I have to add a new field: > > > class A { > > > private String field; > > > private String newField; > > > //get set methods removed for clarity > > > } > > > > > What would be the best way to tackle this scenario? Can I just extend > > > "A" instead? -- but class extension seems to be poorly supported in > > > this JDO implementation. How do I migrate my old class versions? > > > > > I was thinking of putting class version on my classes and everytime I > > > update it I would do the following steps: > > > 1) Change the version ID of the class > > > 2) Migrate all the tables in the table by retrieving it, changing the > > > version ID, resave it with the new class. > > > > > Any pointers would be helpful. > > > > > Thanks! > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
