Android Room Database: Как обновить данные в дочерней таблице?

всем привет. Имеется две связанных таблицы: 1)Employee, 2)Skills Employee - это родительская таблица, а Skills дочерняя. Employee может иметь несколько Skills и по этому я разбил это все на две таблицы. В таблице Skills имеется внешний ключ "employ_id" и название навыка "skill". Оба этих атрибута являются составным ключом.Вопрос в следующем - как изменить имя навыка в дочерней таблице если оба столбца являются составным ключом? Реализовать это пытаюсь с помощью Room.

введите сюда описание изображения

Entity класс Employee

@Entity
public class Employ {

@NonNull
@PrimaryKey()
@ColumnInfo(name = "id")
private String id;

 @ColumnInfo(name = "name")
private String name;

@ColumnInfo(name = "last_name")
private String lastName;


@ColumnInfo(name = "salary")
private String salary;

public Employ(String id, String name, String lastName, String salary) {
    this.id = id;
    this.name = name;
    this.lastName = lastName;
    this.salary = salary;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

public String getSalary() {
    return salary;
}

public void setSalary(String salary) {
    this.salary = salary;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

@Override
public String toString() {
    return "Employ{" +
            "id=" + id +
            ", name='" + name + '\'' +
            ", lastName='" + lastName + '\'' +
            ", salary='" + salary + '\'' +
            '}';
}

}

Entity класс Skill

@Entity(tableName = "skill", primaryKeys = {"employ_id", "skill"},
    foreignKeys = @ForeignKey(entity = Employ.class, parentColumns = "id", childColumns = "employ_id", onDelete = CASCADE))
 public class Skill {

 @NonNull
@ColumnInfo(name = "employ_id")
private String employ_id;

@NonNull
@ColumnInfo(name = "skill")
private String skill;

public Skill(String employ_id, String skill) {
    this.employ_id = employ_id;
    this.skill = skill;
}

@NonNull
public String getEmploy_id() {
    return employ_id;
}

public void setEmploy_id(@NonNull String employ_id) {
    this.employ_id = employ_id;
}

@NonNull
public String getSkill() {
    return skill;
}

public void setSkill(@NonNull String skill) {
    this.skill = skill;
}

@Override
public String toString() {
    return "Skill{" +
            "employId=" + employ_id +
            ", skill='" + skill + '\'' +
            '}';
}

}


Ответы (0 шт):