我正在制作一个训练日志(log)应用程序.
一项训练有多套.
我想把它存储在Room
的one-to-many
个关系中.
总之,我成功地保存了,但我不确定一个类能做什么.
所有其他示例示例代码都使用这个类,所以我自己创建了一个,但它没有告诉我它的含义.
WorkoutWithSets
data class WorkoutWithSets(
@Embedded val workout: Workout,
@Relation (
parentColumn = "workoutId",
entityColumn = "parentWorkoutId"
)
val sets: List<WorkoutSetInfo>
)
以下两个实体类似乎足以表示一对多关系.(存放在房间内)
Workout
@Entity
data class Workout(
@PrimaryKey(autoGenerate = true)
var workoutId: Long = 0,
var title: String = "",
var memo: String = "",
)
以下两个实体类似乎足以存储one-to-many
个关系..(存储在房间中)
WorkoutSetInfo
@Entity(
foreignKeys = [
ForeignKey(
entity = Workout::class,
parentColumns = arrayOf("workoutId"),
childColumns = arrayOf("parentWorkoutId"),
onDelete = ForeignKey.CASCADE
)
]
)
data class WorkoutSetInfo(
@PrimaryKey(autoGenerate = true)
val id: Long = 0,
val set: Int,
var weight: String = "",
var reps: String = "",
var unit: WorkoutUnit = WorkoutUnit.kg,
val parentWorkoutId: Long = 0
)
即使WorkoutWithSet
类不存在,Workout
和WorkoutSetInfo
类也存储在房间中.
WorkoutWithSets
级意味着什么?(或者我应该在哪里使用它?)