【发布时间】:2020-11-12 14:36:08
【问题描述】:
我有一个名为 User 的表。该表有两个外键 Account 和 Shop(都是 1..1 关系)。 所以我创建了一个名为 UserAndAccount 的数据类和另一个名为 UserAndShop 的数据类。
我现在如何获取所有这些数据(将等于 UserAndAccountAndShop)?
用户.kt
@Entity(
tableName = "User"
)
data class User(
@PrimaryKey(autoGenerate = false)
@SerializedName("unique_id")
var uniqueID: String,
@SerializedName("email")
var email: String = "",
@SerializedName("username")
var username: String = ""
)
帐户.kt
@Entity(
tableName = "Account"
)
data class Account(
@PrimaryKey(autoGenerate = true)
@SerializedName("account_id")
var accountID: Int,
@SerializedName("user_id")
var userOwnerID: String = "",
@SerializedName("token")
var token: String = ""
)
商店.kt
@Entity(
tableName = "Shop"
)
data class Shop(
@PrimaryKey(autoGenerate = true)
@SerializedName("shop_id")
var shopID: Int,
@SerializedName("shop_owner_id")
var shopOwnerID: String,
@SerializedName("shop_name")
var shopName: String = ""
)
UserAndAccount.kt
data class UserAndAccount(
@Embedded val user: User,
@Relation(
parentColumn = "uniqueID",
entityColumn = "userOwnerID"
)
val account: Account
)
UserAndShop.kt
data class UserAndShop(
@Embedded val user: User,
@Relation(
parentColumn = "uniqueID",
entityColumn = "shopOwnerID"
)
val shop: Shop
)
【问题讨论】:
标签: kotlin foreign-keys android-room one-to-one