結合を機能させるのに問題があります。2 つのテーブル定義は次のとおりです。
public class Student {
@ForeignCollectionField(eager = true, columnName = STUDENT_INSTANCE_COLLECTION_NAME)
private ForeignCollection<StudentInstance> studentInstances;
...
}
public class StudentInstance {
public static final String STUDENT_ID_COLUMN = "student_id";
public static final String REGISTER_ID_COLUMN = "register_id";
@DatabaseField(generatedId = true)
private int id;
@DatabaseField(canBeNull = false, foreign = true)
private Student student;
@DatabaseField(canBeNull = false, foreign = true)
private Register register;
...
}
活動コード:
public List<Student> getStudents( int registerId ) {
QueryBuilder<StudentInstance, Integer> studentInstanceQb = studentInstanceDao.getDAO().queryBuilder();
studentInstanceQb.where().eq(StudentInstance.REGISTER_ID_COLUMN, registerId);
QueryBuilder<Student, Integer> studentQb = getDAO().queryBuilder();
studentQb.join(studentInstanceQb).query();
}
コードを実行すると、例外が発生します。
getStudents のエラー: java.sql.SQLException: クラス com.beardedhen.roster.db.entity.StudentInstance に外部クラス com.beardedhen.roster.db.entity.Student フィールドが見つかりませんでした、またはその逆
おそらくばかげたエラーですが、私はそれで完全なレンガの壁にぶつかりました.
助けてくれてありがとう、
アンディ