Je viens juste de commencer à travailler avec Room et, bien que tout semble assez intuitif, je ne comprends pas vraiment comment je peux gérer les relations avec exactitude.
SQLite étant une base de données relationnelle, vous pouvez spécifier des relations entre des objets. Même si la plupart des bibliothèques ORM autorisent les objets d'entité à se référencer, Room l'interdit explicitement. Même si vous ne pouvez pas utiliser de relations directes, Room vous permet néanmoins de définir des contraintes de clé étrangère entre entités. (Source: https://developer.Android.com/topic/libraries/architecture/room.html#no-object -références )
Vous pouvez utiliser @Relation
annotation pour gérer les relations dans la salle.
Une annotation pratique qui peut être utilisée dans un Pojo pour extraire automatiquement les entités de relation. Lorsque le Pojo est renvoyé d'une requête, toutes ses relations sont également récupérées par Room.
(Le document de Google contient des exemples déroutants. J'ai écrit les étapes et quelques explications de base lors de ma réponse. Vous pouvez vérifiez-le )