Android Room - конфликт столбцов в сущностях, расширяющих класс

У меня есть объект Patient, который расширяет базовый объект Resource. Теперь Resource содержит uuid и display, которые я также хочу включить в таблицу пациентов, поэтому я комментирую так:

public class Resource implements Serializable {

    @ColumnInfo
    protected String uuid;

    @ColumnInfo
    protected String display;

    // getters and setters
}

И в моем объекте Patient есть вложенные объекты, и они также происходят от Resource (например, объекты PatientIdentifier и Person встроены и имеют свой собственный uuid и дисплей):

@Entity(tableName = "patients")
public class Patient extends Resource implements Serializable {

    @PrimaryKey
    private Long id;

    // ...

    @Embedded
    private PatientIdentifier identifier;

    @Embedded
    private Person person;

    // other variables
}

это приводит к конфликту имени столбца - поскольку существует столбец «uuid» для Пациента, Идентификатора Пациента и Лица.

Я хочу переименовать столбцы uuid вложенных объектов после их имени (например, "person_uuid"), аналогично аннотации @ForeignKey в отношениях сущностей. Могу ли я узнать, как это сделать?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
3
0
444
1

Ответы 1

Вы можете указать имя столбца следующим образом:

@ColumnInfo(name = "person_uuid")

Другие вопросы по теме