У меня есть сущность с именем «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;
}}
Итак, при создании таблицы нам нужно указать только родительский объект, а база данных комнат создаст дочерние таблицы автоматически, или нам нужно создать таблицы для каждого объекта?