Столбцы с одинаковыми именами - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь выяснить проблему, когда у меня есть POJO с Embedded и отношением один-ко-многим, и автоматически сгенерированный код выбирает неправильный индекс столбца для курсора.Проблема заключается в том, что он путает столбцы из Identity и Scan и устанавливает значения Scan в значения Identity из JOIN.

Я уже проверил Проблема с тем же именем поля втаблиц, когда соединяются с таблицами в ответах ROOM , и это, похоже, не помогает, так как не генерирует компилируемый код для POJO.У меня есть два класса, Scan и Identity, они извлекаются через

@Query("SELECT * FROM scans JOIN identities on scans.identity_id = identities.rid WHERE scans.id  IN (:ids) AND scans.deleted_at IS NULL ORDER BY scans.updated_at DESC")
@Transaction
Flowable<List<ScanAndIdentity>> findAllWithIdentity(long[] ids);

Также есть POJO:

public class ScanAndIdentity {
    @Embedded
    public Scan scan;

    @Relation(parentColumn = "identity_id", entityColumn = "rid", entity = 
    Identity.class)
    public List<Identity> identities;
}

Как я могу обойти эту проблему?Я пытался с префиксом в Embedded, но это также дает ошибку Not sure how to convert a Cursor to this method's return type (*.pojo.ScanAndIdentity)

...