问题描述
我的应用程序中有一个数据库,它有 3 个表服务器、站点、组
@Entity(tableName = "servers")
data class Server(
@ColumnInfo(name = "server_id")
var serverId: Long,@ColumnInfo(name = "account_id")
var accountId: Int,@ColumnInfo(name = "device_id")
var deviceId: Int,@ColumnInfo(name = "company_id")
var companyId: Int
.......
@Entity(tableName = "sites")
data class Site(
@ColumnInfo(name = "server_id")
var serverId: Long,@ColumnInfo(name = "site_id")
val siteId: Int,@ColumnInfo(name = "description",defaultValue = "")
val description: String
)
@Entity(tableName = "groups")
data class Group(
@ColumnInfo(name = "server_id")
val serverId: Long,@ColumnInfo(name = "group_id")
var groupId: Int,defaultValue = "")
val description: String
......
所以我们可以看到,对于每台服务器,我们都有站点,并且每个站点都有几个组。 现在我制作了一个名为 ServerSiteWithGroup 的 POJO,其中包含一个 Server 和另一个 POJO SiteWithGroup
data class ServerSiteWithGroup(
@Embedded
val server: Server,@Relation(parentColumn = "server_id",entityColumn = "server_id")
val siteWithGroup: SiteWithGroup
)
data class SiteWithGroup(
@Embedded
val group: Group,@Relation(parentColumn = "site_id",entityColumn = "site_id")
val site: Site
)
因此,鉴于我想对 Room 数据库进行一次查询并获取给定 serverId,siteId,groupId
的服务器、站点、组对象
我试过了,但没有用
@Transaction
@Query("Select * from groups
inner join servers on groups.server_id = servers.server_id
where groups.server_id = :serverId
and groups.site_id = :siteId
and groups.group_id = :groupId")
fun getSiteWithGroup(serverId: Long,siteId: Int,groupId: Int): LiveData<ServerSiteWithGroup>
我该如何解决这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)