ActiveAndroid Отношение многие ко многим
В настоящее время я использую ActiveAndroid и пытаюсь заставить работать отношения многих со многими в течение последних нескольких часов, однако я просто не могу заставить их работать. Я надеюсь, что вы можете помочь мне:
У меня есть модели «Студент» и «Курс», у студента может быть много курсов, и у курса много студентов. В основном это то, что у меня есть в модели «StudentCourse»:
@Column(name = COURSE)
public Course course;
@Column(name = STUDENT)
public Student student;
public StudentCourse(Student student, Course course) {
super();
this.student = student;
this.course = course;
}
//
public StudentCourse(){ }
public List<Course> courses(){
return getMany(Course.class, "StudentCourse");
}
public List<Student> students(){
return getMany(Student.class, "StudentCourse");
}
Сейчас я пытаюсь получить «всех студентов на курсе X» со следующим кодом:
((Student) new Select().from(StudentCourse.class).where("course = ?",selectedCourse.getId()).executeSingle()).students();
Однако я получаю следующую ошибку:
java.lang.ClassCastException: com.papinotas.models.StudentCourse не может быть приведен к com.papinotas.models.Student.
Если я изменю приведение (Student) на (StudentCourse), я получаю следующую ошибку:
android.database.sqlite.SQLiteException: такого столбца нет: Students.StudentCourse (код 1): при компиляции: SELECT * FROM студентов, ГДЕ студентов .StudentCourse = 1
Моя главная цель - добиться этого всего за 1 запрос. Любая помощь будет принята с благодарностью. Заранее спасибо!
PS: я уже посмотрел почти все, что мог найти:Активные отношения Android ко многим ко многим а такжеhttps://github.com/pardom/ActiveAndroid/issues/46