package Ġcom . ste ven pop ov ich . try ing _ to _ be _ fun ny . room Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . room .* Ċ import Ġcom . ste ven pop ov ich . try ing _ to _ be _ fun ny . Bit Ċ import Ġcom . ste ven pop ov ich . try ing _ to _ be _ fun ny . SetId Ċ import Ġjava . util .* Ċ Ċ @ Entity ( tableName Ġ= Ġbit Set Join Table , ĊĠĠĠ Ġprimary Keys Ġ= Ġ[" bit ", Ġ" setId "], ĊĠĠĠ Ġforeign Keys Ġ= Ġ[ ForeignKey ( entity Ġ= ĠRoom Bit :: class , ĊĠĠĠĠĠĠĠ Ġparent Columns Ġ= ĠarrayOf (" bit "), ĊĠĠĠĠĠĠĠ Ġchild Columns Ġ= ĠarrayOf (" bit ")), ĠForeign Key ( entity Ġ= ĠRoom Set :: class , ĊĠĠĠĠĠĠĠ Ġparent Columns Ġ= ĠarrayOf (" id "), ĊĠĠĠĠĠĠĠ Ġchild Columns Ġ= ĠarrayOf (" setId ")) ĊĠĠĠ Ġ] Ċ ) Ċ data Ġclass ĠBit Set Join ( ĊĠĠĠ Ġval Ġbit : ĠBit , ĊĠĠĠ Ġval ĠsetId : ĠUUID Ċ ) Ċ Ċ @ Dao Ċ interface ĠBit Set Join Dao Ġ{ ĊĠĠĠ Ġ@ Insert ĊĠĠĠ Ġfun Ġinsert ( bit Set Join : ĠBit Set Join ) ĊĊĠĠĠ Ġ@ Query (""" ĊĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġ* ĠFROM Ġ$ bit TableName ĊĠĠĠĠĠĠĠĠĠĠ ĠINNER ĠJOIN Ġ$ bit Set Join Table ĊĠĠĠĠĠĠĠĠĠĠ ĠON Ġ$ bit TableName . Bit Ġ= Ġ$ bit Set Join Table . Bit ĊĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġ$ bit Set Join Table . setId =: setId ĊĠĠĠĠĠĠĠĠĠĠ Ġ"" ") ĊĠĠĠ Ġfun Ġget Bits For Set ( setId : ĠSet Id ): ĠLive Data < List < Room Bit >> ĊĊĠĠĠ Ġ@ Query (""" ĊĠĠĠĠĠĠĠĠĠĠ ĠSELECT Ġ* ĠFROM Ġ$ set TableName ĊĠĠĠĠĠĠĠĠĠĠ ĠINNER ĠJOIN Ġ$ bit Set Join Table ĊĠĠĠĠĠĠĠĠĠĠ ĠON Ġ$ set TableName . id Ġ= Ġ$ bit Set Join Table . setId ĊĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġ$ bit Set Join Table . bit =: bit ĊĠĠĠĠĠĠĠĠĠĠ Ġ"" ") ĊĠĠĠ Ġfun Ġget Sets For Bit ( bit : ĠBit ): ĠLive Data < List < Room Set >> Ċ }