BnJ
BnJ

Reputation: 1044

Foreign field class does not have id field

I get errors with the entities below (probably because of the relationship One To Many), but I do not see how to fix the problem.

Course:

@ForeignCollectionField(eager = true)
Collection<Grade> grades;

@DatabaseField(columnName = "ID", canBeNull = false)
private long id;

@DatabaseField(columnName = "LABEL", canBeNull = false)
private String label;

@DatabaseField(columnName = "COEFFICIENT", canBeNull = false, defaultValue = "1")
private float coefficient;

Grade:

@DatabaseField(columnName = "ID_COURSE", canBeNull = false, foreign = true, foreignAutoRefresh = true)
Course course;

@DatabaseField(columnName = "ID", canBeNull = false)
private long id;

@DatabaseField(columnName = "DATE", canBeNull = false)
private Date date;

@DatabaseField(columnName = "GRADE", canBeNull = false, defaultValue = "1")
private float grade;

When launching the app and trying to fetch datas from database :

Foreign field class Course does not have id field

Upvotes: 3

Views: 1651

Answers (1)

Konrad Krakowiak
Konrad Krakowiak

Reputation: 12365

The Course class has to have id field

@DatabaseField(generatedId = true, columnName = "ID")
Long id;

or make your existing field id as id by:

@DatabaseField(id = true, columnName = "ID", canBeNull = false)
private long id;

Upvotes: 4

Related Questions