Relacionamento ActiveAndroid Muitos-para-muitos
Atualmente, estou usando o ActiveAndroid e tenho tentado fazer com que um relacionamento muitos-para-muitos funcione nas últimas horas, mas não consigo fazê-lo funcionar. Eu espero que você possa me ajudar:
Eu tenho os modelos "Aluno" e "Curso", um aluno pode ter muitos cursos e um curso tem muitos alunos. Basicamente, é isso que eu tenho no modelo "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");
}
No momento, o que estou tentando fazer é "todos os alunos do curso X", com o seguinte código:
((Student) new Select().from(StudentCourse.class).where("course = ?",selectedCourse.getId()).executeSingle()).students();
No entanto, recebo o seguinte erro:
java.lang.ClassCastException: com.papinotas.models.StudentCourse não pode ser convertido em com.papinotas.models.Student
Se eu alterar o elenco de (Student) para (StudentCourse), recebo o seguinte erro:
android.database.sqlite.SQLiteException: não existe essa coluna: students.StudentCourse (código 1): durante a compilação: SELECT * FROM students WHERE students.StudentCourse = 1
Meu principal objetivo é conseguir isso em apenas uma consulta. Qualquer ajuda seria muito apreciada. Desde já, obrigado!
PS: Eu já olhei praticamente tudo o que pude encontrar:Android ativo para muitos-para-muitos relacionamento ehttps://github.com/pardom/ActiveAndroid/issues/46