Android Room获取具有非null嵌入式属性的相关实体

时间:2018-07-11 13:31:33

标签: kotlin android-room

Florina(https://medium.com/google-developers/7-pro-tips-for-room-fbadea4bfbd1)的这篇帖子介绍了一种通过定义复合类来简化一对多查询的好方法

class UserAndAllPets {
   @Embedded
   var user: User? = null
   @Relation(parentColumn = “userId”,
             entityColumn = “owner”)
   var pets: List<Pet> = ArrayList()
}

@Transaction
@Query(“SELECT * FROM Users”)
List<UserAndAllPets> getUsers()

这使您可以在单个查询中获取所有带宠物的用户。但是,每次我每次使用user都必须进行空检查时,它就变得很烦人。另外,我不希望查询在没有用户的情况下返回UserAndAllPets对象。无论如何,我在使用UserAndAllPets时是否可以在查询中强制执行此规则,而不是进行安全检查?

0 个答案:

没有答案