2

AndroidでSQLiteを操作するためにアクティブなAndroidを使用しています。

たとえば、Petsこの構造を持つ次のテーブルがあります。

@Table(name = "Pets")
public class Pet extends Model {

    @Column(name = "Name")
    public String name;

    @Column(name = "Gender")
    public String gender;

    @Column(name = "DoB")
    public Date dob;    

    public Pet() {
        super();
    }

    public Pet(String name, String gender, Date dob) {
        super();
        this.name = name;
        this.gender = gender;
        this.dob = dob;
    }

}

という 2 番目のテーブルに、テーブルAchievementsの への外部キーがあることを示すにはどうすればよいですか。primary_keyPets

これは私はこのようなことをしています

@Table(name = "Achievements")
public class Achievement extends Model {

    @Column(name = "name")
    public String name;

    @Column(name = "pet_id")
    public Pet pet;

    public Achievements() {
        super();
    }

    public Achievements(String name,Pet pet) {
         super();
         this.name = name;
         this.pet = pet;
    }
4

1 に答える 1

2

まず、ここでコードを再確認する必要があります。できる限りクリーンアップしましたが、アチーブメントのスペルが間違っている、アチーブメント コンストラクターが複数形であるなど、まだいくつかのエラーがあるようです。

実績とペット レコードの関係を設定するには、ペット列を次のように変更する必要があります。

@Column(name = "Pet")
public Pet pet;

詳細については、このActiveAndroid Wiki ページをご覧ください。

于 2014-04-15T17:31:33.360 に答える