Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
AlexRu18
5 / 5 / 3
Регистрация: 29.01.2015
Сообщений: 189
1

Связь один-ко-многим Android Room

08.08.2018, 10:32. Просмотров 680. Ответов 0

Возможно кто-то работал с Android Room.
Делаю связь двух таблиц одна-к-многим.
1Сотрудник
Код
@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;
}
И собственно получаю ошибку:
Код
The query returns some columns [specialty_id, specialty_name, employeeId] which are not use by ru.as.employee_service.model.EmployeeToSpecialty. You can use @ColumnInfo annotation on the fields to specify the mapping. ru.as.employee_service.model.EmployeeToSpecialty has some fields [employee_id, f_name, l_name, birthday, avatar_url] which are not returned by the query. If they are not supposed to be read from the result, you can mark them with @Ignore annotation. You can suppress this warning by annotating the method with @SuppressWarnings(RoomWarnings.CURSOR_MISMATCH). Columns returned by the query: specialty_id, specialty_name, employeeId. Fields in ru.as.employee_service.model.EmployeeToSpecialty: employee_id, f_name, l_name, birthday, avatar_url.
Хотя я расставил нужные аннотации и проименовал все поля. В чём может быть проблема?

Добавлено через 1 час 20 минут
UPD: Проблема была в DAO
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2018, 10:32
Ответы с готовыми решениями:

Entity Framework 6. Code First. Связь один-ко-многим и многие-ко-многим одновременно
Здрасти. Есть таблица юзеров и объявлений. У юзера может быть множество объявлений. Здесь действует...

Устанавливается связь один-к-одному вместо один-ко-многим
Здравствуйте, скажите пожалуйста почему между данными таблицами устанавливается связь один-к-одному...

Связь один ко многим
В базе две таблицы связаны 1:мн. Пытаюсь добавить данные во вторую таблицу, возникает исключение. ...

Связь один ко многим
Здравствуйте уважаемые форумчане. Помогите с базой данных. Я сделала базу данных, теперь такая...

Связь один ко многим
Здравствуйте, пожалуйста помогите. Вот имеются две таблицы &quot;Поставщики&quot; и &quot;Партии товара&quot;...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2018, 10:32

Связь один ко многим
если я правильно понял, то связь один ко многим реализуется за счет 3й таблицы, в которой...

Связь один ко многим
Добрый вечер. Есть такая база данных: Надо сделать так, чтобы в при заполнении таблицы заказ мы...

Связь один - к многим
Добрый день. Есть две таблицы, связанные между собой 1:М. Я делал выборки с помощью JOIN но строка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.