房间可能有递归关系吗?我有一个可以嵌套在类似这样的父/子结构中的实体
Category1
|_________Category2
|_________Category3
| |_________Category4
|_________Category5`
我从一个从 WebService 获得的 json 复制这个结构。
这是我当前的实体:
@Entity(tableName = "categories")
public class Category
{
@PrimaryKey
@NonNull
private String code;
private String name;
private String parentCode;
@Relation(parentColumn = "code", entityColumn = "parentCode", entity = Category.class)
private List<Category> childrens;
}
但在编译过程中,我得到一个 StackOverflow 错误:
原因:java.lang.StackOverflowError at android.arch.persistence.room.processor.PojoProcessor.doProcess(PojoProcessor.kt:113) at android.arch.persistence.room.processor.PojoProcessor.access$doProcess(PojoProcessor.kt:74) ) 在 android.arch.persistence.room.processor.PojoProcessor$process$1.invoke(PojoProcessor.kt:105) 在 android.arch.persistence.room.processor.PojoProcessor$process$1.invoke(PojoProcessor.kt:74) 在android.arch.persistence.room.processor.cache.Cache$Bucket.get(Cache.kt:46)
我知道我可以从实体中删除子项并迭代 json 以保存每个没有子项的类别,然后在单独的查询中通过父代码获取子项,但我只想知道是否可以递归与代码中的关系类似