1

私は Greendao を初めて使用します。私は greendao でエンティティを生成するためのジェネレータを作成しています。そのため、病院と患者の 2 つのエンティティがあります。それらの間には 1 対多の関係があります。したがって、病院には多くの患者がいる可能性がありますが、1 人の患者には 1 つの病院しかありません。Property hospitalId = patient.addLongProperty("hospitalId").getProperty();これで、患者テーブルに Hospitalid 列が追加されます。と

ToMany hospitalToPatients = hospital.addToMany(patient, hospitalId);

この行は、病院と患者の間に 1 対多の関係を作成します。では、これらの行の用途と、greendao で 1 対 1、1 patient.addToOne(hospital, hospitalId);hospitalToPatients.setName("patients");多、多対 1、多対多の関係を実装する方法は何ですか? PS:このコードをコピーしましたhttp://www.vertabelo.com/blog/technical-articles/a-comparison-of-android-orms

 public class ProjectGenerator {

        public static void main(String[] args) throws Exception {
            Schema schema = new Schema(1, "com.example.project");

            // hospital table
            Entity hospital = schema.addEntity("Hospital");
            hospital.addIdProperty();
            hospital.addStringProperty("name");

            // patient table
            Entity patient = schema.addEntity("Patient");
            patient.addIdProperty();
            patient.addStringProperty("name");
            Property hospitalId = patient.addLongProperty("hospitalId").getProperty();

            // patient has a one assigned hospital
            patient.addToOne(hospital, hospitalId);

            // hospital has many patients
            ToMany hospitalToPatients = hospital.addToMany(patient, hospitalId);
            hospitalToPatients.setName("patients");

            // trigger generation with path to the Android project
            new DaoGenerator().generateAll(schema, "../project/src/main/java");
        }
    }
4

1 に答える 1

-1

それで、ラインの使用は何ですか patient.addToOne(hospital, hospitalId)

この行は と の間の関係を作成していoneToOneます。hospitalpatient

hospitalToPatients.setName("patients")   

これは、外部キーの名前を設定するだけです。

ご覧のとおりone to one,one to many、例では実装関係を既に実装しています。関係patient.addToOneの例です。関係の例です。また、greenDao はリレーションシップを直接サポートしていません。詳細については、こちらを参照してくださいOneToOnehospital.addToManyOneToManyManyToMany

于 2016-10-23T08:25:23.277 に答える