Нужно ли нам создавать таблицы для элементов @Embedded в сущностях в базе данных комнат? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть сущность с именем «config», внутри которой у меня есть первичный ключ и список другой сущности, встроенной в нее с помощью аннотации @Embedded.

@Entity(tableName = "config")
public class ConfigModules {

@PrimaryKey
@ColumnInfo(name = "id")
private Long id;

@JsonProperty("modules")
@Embedded
private ArrayList<ConfigModuleEntity> modules;

public Long getId() {
    return id;
}

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

public ArrayList<ConfigModuleEntity> getModules() {
    return modules;
}

public void setModules(ArrayList<ConfigModuleEntity> modules) {
    this.modules = modules;
}}

И вышеупомянутая встроенная аннотация ConfigModuleEntity:как указано ниже:

@Entity(tableName = "config_module")
public class ConfigModuleEntity {

@JsonProperty("id")
@ColumnInfo(name = "module_id")
private String moduleId;

@JsonProperty("isConfigSupported")
@ColumnInfo(name = "isConfigSupported")
private int isConfigSupported;

@JsonProperty("subModules")
@Embedded
private ArrayList<ConfigSubModuleEntity> subModules;

public String getModuleId() {
    return moduleId;
}

public void setModuleId(String moduleId) {
    this.moduleId = moduleId;
}

public int getIsConfigSupported() {
    return isConfigSupported;
}

public void setIsConfigSupported(int isConfigSupported) {
    this.isConfigSupported = isConfigSupported;
}

public ArrayList<ConfigSubModuleEntity> getSubModules() {
    return subModules;
}

public void setSubModules(ArrayList<ConfigSubModuleEntity> subModules) {
    this.subModules = subModules;
}}

Итак, при создании таблицы нам нужно указать только родительский объект, а база данных комнат создаст дочерние таблицы автоматически, или нам нужно создать таблицы для каждого объекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...