android - 为什么我会收到“Entity class must be annotated with @Entity”错误,我该如何忽略它?
问题描述
我有一个带 Lombok 注释的 POJO,用于应用程序的其他部分,不适用于 Room。但是当我尝试构建我的项目时,我得到了Entity class must be annotated with @Entity
关于它的错误并且构建失败了。
我知道我可以通过添加一堆@Ignore
d 字段来强制我的一个实际 Room 实体填充这个数据对象的角色,但这似乎很愚蠢。我怎么能告诉它这个类不是一个实体并且 Room 应该不理会它?
这是它抱怨的课程:
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
类替换它,我就不再得到这个构建错误。
推荐阅读
- python - Python:如何从 for 循环返回数据?
- javascript - 如何在Javascript中处理两次点击事件
- python - 如何仅更改列表矩阵中的一个单元格?
- java - 如何获取 Eclipse 空分析以使用 JUnit 中的 assertNotNull
- node.js - nodeJS文件上传服务器不换行
- git - 连接到 git 存储库的问题:SSL 证书错误
- java - 从字符串变量 Java 强制转换
- reactjs - 如何在状态/道具更改时重新渲染 react-native flatList 中的特定行?
- javascript - 任意相邻 div 周围的边界,即使边界正在交叉
- html - 如何在浮动组件下方设置页脚?