美文网首页
Android GreenDao 3.3.0 关联表 (二)

Android GreenDao 3.3.0 关联表 (二)

作者: 薰舞空 | 来源:发表于2020-06-01 16:54 被阅读0次

    入门:https://www.jianshu.com/p/adfe318fd96d
    数据库升级:https://www.jianshu.com/p/adfe318fd96d

    前面介绍了基本的集成,这里说一下如何建立关联表


    首先是一对一关联,这里使用的是ToOne注解

    举个例子,A和B是一对一关联,A代码如下:

    @Entity
    public class A {
    
        @Id(autoincrement = true)
        Long aid;
    
    }
    

    B代码中建立与A的关联:

    @Entity
    public class B {
    
        @Id(autoincrement = true)
        Long bid;
    
        Long aid;
    
        @ToOne(joinProperty = "aid")
        private A a;
    }
    

    这样查出来的B,就自动带了对应A的实例

    注意,向数据库写入B的时候,不需要填充A的实例,加入对应的aid就行了

    接下来是一对多,例如我有很多钱:

    @Entity
    public class 我 {
    
        @Id(autoincrement = true)
        Long id;
    
        @ToMany(referencedJoinProperty = "masterId")
        private 钱 钱List;
    }
    

    钱的写法如下:

    @Entity
    public class 钱 {
    
        @Id(autoincrement = true)
        Long id;
    
        Long masterId;
    }
    

    写入时只用在钱里加入对应的masterId就可以,这样我就有很多钱了

    最后一种是多对多,这里稍微麻烦一点,不能直接写多对多,需要有个中转

    例如教师和学生,一个教师有多个学生,一个学生也有多个教师

    这里不能直接一个教师表和学生表进行关联,需要在加入一张关系表

    A教师建立一个1对多的关系表关联,可以理解为1个教师,对应多个关系,在关系里,再关联学生

    学生也是一样,用这种方式来间接实现多对多关联

    相关文章

      网友评论

          本文标题:Android GreenDao 3.3.0 关联表 (二)

          本文链接:https://www.haomeiwen.com/subject/sicjzhtx.html