martedì 15 marzo 2011

Google App Engine e le relazioni

Visto che voglio capire di più su come sono fatte le api Google App Engine per il DataStore mi sono chiesto: "come si gestiscono le relazioni?"
La pagina che spiega tutto è questa. In pratica la limitazione più forte che ho riscontrato è che, per creare una relazione tra due entità queste devono avere come chiave primaria un oggetto di tipo Key: questo perché l'oggetto Key supporta le informazioni sulla parent key. Leggendo la documentazione su Key si legge che "If the class is used as a "child" class in a relationship, the key field must be of a type capable of representing an entity group parent: either a Key instance, or a Key value encoded as a string." Evidentemente il meccanismo di storage delle informazioni ha bisogno di creare legami tra le classi, e questo è l'unico modo che ha per farlo.
Speriamo in futuri miglioramenti.