我正在尝试为 USER 表与自身建立多对多关系 - USER 表。这个想法是每个用户可能有一些朋友用户,反之亦然。
我正在使用联结函数执行此操作,但是当我尝试编译它时,我遇到了异常:
线程“主”java.lang.RuntimeException 中的异常:ToOne“用户”的名称从 UsersJoinFollowedUsers 到用户重复
at de.greenrobot.daogenerator.Entity.init3rdPassRelations(Entity.java:559)
at de.greenrobot.daogenerator.Entity.init3ndPass(Entity.java:550)
at de.greenrobot.daogenerator.Schema.init3ndPass(Schema.java:185)
at de.greenrobot.daogenerator.DaoGenerator.generateAll(DaoGenerator.java:94)
at de.greenrobot.daogenerator.DaoGenerator.generateAll(DaoGenerator.java:79)
at de.greenrobot.daogenerator.gentest.CodeGenerator.main(CodeGenerator.java:84)
发生这种情况是因为联结函数两次指向同一个实体 - 用户:
用户表 | JUNCTION_TABLE | 用户表
左关系: USER -> JUNCTION -> USER
正确的关系: USER<- JUNCTION <- USER
所以我猜问题是如何在GreenDao中创建这种自我多对多。