Почему я получаю сообщение об ошибке «Класс сущности должен быть аннотирован @Entity» и как я могу его игнорировать? - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть POJO с аннотацией Lombok, который я использую для других частей приложения и не предназначен для Room. Но когда я пытаюсь построить свой проект, у меня появляется ошибка Entity class must be annotated with @Entity, и сборка завершается неудачей.

Я знаю, что могу просто заставить один из моих реальных объектов Room заполнить роль этого объекта данных, добавив группу из @Ignore d полей, но это кажется глупым. Как я могу сказать, что этот класс не является сущностью и что Комната должна оставить его в покое?

Это тот класс, на который он жалуется:

import androidx.annotation.DrawableRes;

import lombok.Builder;
import lombok.Value;

@Value
@Builder
public class MyPOJO {
    final String matchQuality;
    final String identifier;
    final String fitDate;
    @DrawableRes
    final int image;
}

1 Ответ

0 голосов
/ 26 февраля 2020

Это было плохо.

Когда я только начинал свою реализацию и не создавал никаких сущностей, мне нужно было что-то для go в аннотации сущностей базы данных и поместить туда MyPOJO как заполнитель:

@Database(entities = {MyPOJO.class}, version = 1)
abstract public class MyDB extends RoomDatabase {

Как только я заменил это фактическими @Entity классами, я больше не получаю эту ошибку сборки.

...