J'ai un modèle de données où je ne suis pas sûr de tirer profit des classes d'imbrication dans les groupes d'entités. Le modèle de base est que l'utilisateur possède beaucoup de chevaux, un cheval ne peut posséder une selle:Groupes d'entités d'imbrication?
// Model 1, nest everything:
User
Horse
Saddle
Horse
Saddle
// Model 2: Just let them all be siblings.
User
Horse
Horse
Saddle
Saddle
Je ne sais pas si je gagne un avantage sur les instances de selle de nidification sous un cheval, ou si je devrais les laisser tous comme frères et soeurs.
clés: Génération
// Model 1:
Key key = new KeyFactory.Builder(
User.class.getSimpleName(), userid)
.addChild(Horse.class.getSimpleName(), horseid)
.addChild(Saddle.class.getSimpleName(), saddleid).getKey();
// Model 2:
Key key = new KeyFactory.Builder(
User.class.getSimpleName(), userid)
.addChild(Saddle.class.getSimpleName(), saddleid).getKey();
Donc, la génération de clés est plus de travail pour la situation 1, et je me demande si je devrais passer à la situation 2 au lieu, si je ne gagne aucun avantage sur la plus nidification? Les opérations que je dois faire:
- Supprimer un cheval et sa selle.
- Créer un cheval avec une selle.
- Mettez à jour un cheval et sa selle.
- Obtenez un cheval par lui-même.
- Obtenez un cheval et sa selle en même temps.
Les deux modèles me donnent tout ce qui précède, je pense. Peut-être que le modèle n ° 1 offre l'avantage que l'ensemble de l'objet Utilisateur n'a pas besoin d'être verrouillé lors de l'exécution d'opérations uniquement sur une selle?
Merci