2017-10-15 23 views
1

J'ai essayé d'énumérer les chemins de chausse-pied dans Room. Il existe deux principaux cas d'utilisation de filtrage:Comment faire des requêtes d'ascendance de branche complète avec Room?

  • dossier Hiding Un cache descendants AA, AB, etc.
  • Vous pouvez également sélectionner un mot-clé imbriqué "Bavaria" sélectionne tous les ancêtres "Europe"> "Allemagne"> "Bavière" .

Ces tables ne reçoivent pas grand si l'efficacité est moins préoccupante, donc j'ai commencé à implémenter des requêtes de matérialisation de chemin simple:

1 | Europe | /1 
--------------------- 
2 | Germany | /1/2 
--------------------- 
3 | Bavaria | /1/2/3 
--------------------- 
4 | Asia | /4 

Descendants:

WHERE :path LIKE column || '%' 

Ancêtres :

WHERE column LIKE :path || '%' 

Cela nécessite mapp le chemin dans chaque insert. Pas un gros problème, mais pas un simple insert.

Ces requêtes de branchement complet peuvent-elles être effectuées plus facilement avec Room?

Répondre