[英]ActiveJDBC: save() generates insert only for auto-generated primary key?
[英]Inserting into 2 tables with auto-generated primary key
我有兩個實體,鍛煉和鍛煉。 每個鍛煉可以進行許多練習。 當我要將帶有鍛煉列表的新鍛煉插入到兩個表中時,我首先將鍛煉數據插入到Workout中,然后嘗試將鍛煉插入到“鍛煉”表中。
這兩個表在“練習”中由外鍵關聯(“鍛煉”中的workout_id和id)。 問題是“鍛煉”中的主鍵是自動生成的,因此當我插入練習時,除非我也查詢“鍛煉ID”,否則我不知道要提供什么外鍵值。 那是最好的辦法嗎?
@Entity(tableName = "workouts")
public class Workout {
@PrimaryKey(autoGenerate = true)
public int id;
...
}
@Entity(tableName = "exercises", foreignKeys = @ForeignKey(entity = Workout.class,
parentColumns = "id",
childColumns = "workout_id"))
public class Exercise {
@PrimaryKey(autoGenerate = true)
public int id;
@ColumnInfo(name = "workout_id")
public int workoutId;
...
}
在WorkoutDao類中,插入時可以返回long值(生成的id),如下所示:
@Insert
long insert(Workout work);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.