为什么我会收到 "Entity class must be annotated with @Entity" 错误,我该如何忽略它?
Why am I getting "Entity class must be annotated with @Entity" error and how can I ignore it?
我有一个 Lombok 注释的 POJO,我正在将其用于应用程序的其他部分,而不是用于 Room。但是当我尝试构建我的项目时,我得到了关于它的 Entity class must be annotated with @Entity
错误并且构建失败。
我知道我可以通过添加一堆 @Ignore
d 字段来强制我的一个实际 Room 实体来填充此数据对象的角色,但这看起来很愚蠢。我怎么能告诉它这个 class 不是一个实体,那个房间应该不管它?
这是它抱怨的class:
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;
}
这是我的错。
当我刚开始实施并且没有创建任何实体时,我需要在数据库实体注释中添加一些内容并将 MyPOJO
作为占位符放在那里:
@Database(entities = {MyPOJO.class}, version = 1)
abstract public class MyDB extends RoomDatabase {
将其替换为我的实际 @Entity
类 后,我不再收到此构建错误。
我有一个 Lombok 注释的 POJO,我正在将其用于应用程序的其他部分,而不是用于 Room。但是当我尝试构建我的项目时,我得到了关于它的 Entity class must be annotated with @Entity
错误并且构建失败。
我知道我可以通过添加一堆 @Ignore
d 字段来强制我的一个实际 Room 实体来填充此数据对象的角色,但这看起来很愚蠢。我怎么能告诉它这个 class 不是一个实体,那个房间应该不管它?
这是它抱怨的class:
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;
}
这是我的错。
当我刚开始实施并且没有创建任何实体时,我需要在数据库实体注释中添加一些内容并将 MyPOJO
作为占位符放在那里:
@Database(entities = {MyPOJO.class}, version = 1)
abstract public class MyDB extends RoomDatabase {
将其替换为我的实际 @Entity
类 后,我不再收到此构建错误。