我有一个实体,其结构如下:
@Entity
public class MenuModel
{
@PrimaryKey
private Long id;
List<CustomObject> objectList;
// getset
}
public class CustomObject
{
private List<AnotherCustomObject> anotherCustomList;
}
自定义对象不是是实体,并且进一步嵌套了也不是实体的自定义对象。
我为我的所有列表类及其子类写了TypeConverter
。下面是一个示例:
public class ForcedModTypeConverter
{
@TypeConverter
public static List<ForcedModifier> stringToObject(String data)
{
if(data == null)
{
return Collections.emptyList();
}
Gson gson = new Gson();
Type type = new TypeToken<List<ForcedModifier>>(){}.getType();
return gson.fromJson(data, type);
}
@TypeConverter
public static String objectToString(List<ForcedModifier> data)
{
Gson gson = new Gson();
return gson.toJson(data);
}
}
我的问题是,如果我想从该自定义对象列表中访问一个对象,该怎么做?
我试图像这样使用@Query
:
@Query("SELECT * FROM AnotherCustomObject)
List<AnotherCustomObject> getSecondaryCustomObjects();
但是即使我创建了自定义对象@Entities
,该操作也不起作用。那么,如何查询自定义对象列表中实体的子对象?