Создать @Relation один-ко-многим по комнате
Я пытаюсь создать соотношение для 2 таблицы: 1 сотрудник по многим специальностям. У меня есть POJO
@Entity
public class Employee implements Serializable{
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "employee_id")
private int employeeId;
@ColumnInfo(name = "f_name")
private String f_name;
@ColumnInfo(name = "l_name")
private String l_name;
@ColumnInfo(name = "birthday")
private String birthday;
@Ignore
@ColumnInfo(name = "age")
private int age;
@ColumnInfo(name = "avatar_url")
private String avatr_url;
@Ignore
private List<Specialty> specialty;
И специальность:
public class Specialty implements Serializable{
@PrimaryKey
@ColumnInfo(name = "specialty_id")
public int specialty_id;
@ColumnInfo(name = "specialty_name")
public String name;
@ColumnInfo(name = "employeeOwner_id")
public int employeeId;
Также я создаю совместный класс:
public class EmployeeToSpecialty {
@Embedded
public Employee employee;
@Relation(parentColumn = "employee_id", entityColumn = "specialty_id")
public List<Specialty> specialties;
}
Затем я получаю сообщение об ошибке: запрос возвращает некоторые столбцы [specialty_id, specialty_name, employeeId], которые не используются ru.alexsuvorov.employee_service.model.EmployeeToSpecialty. Вы можете использовать аннотацию @ColumnInfo в полях, чтобы указать отображение. ru.alexsuvorov.employee_service.model.EmployeeToSpecialty имеет несколько полей [employee_id, f_name, l_name, birthday, avatar_url], которые не возвращаются запросом. Если они не должны быть прочитаны из результата, вы можете пометить их аннотацией @Ignore. Вы можете подавить это предупреждение, аннотируя метод с помощью @SuppressWarnings(RoomWarnings.CURSOR_MISMATCH). Столбцы, возвращаемые запросом: specialty_id, specialty_name, employeeId. Поля в ru.alexsuvorov.employee_service.model.EmployeeToSpecialty: employee_id, f_name, l_name, день рождения, avatar_url.
Я добавляю необходимые столбцы и аннотации, так в чем же проблема?