声明一个Room变量,该变量在内存中为@Nullable,但在SQLite数据库中为@NonNull?

时间:2019-07-09 00:26:01

标签: android-room

这是典型的例子:

@Entity
class Kozmique {

    @PrimaryKey(autoGenerate = true)
    @NonNull  // TODO  how to be non-null in the database but nullable in memory?
    public Long id;

在内存中,没有人应该分配kozmique.id,除了一个oracle-KozmiqueDao.insert的返回值。因此,要创建一个Kozmique并将其输入数据库,必须使用空id临时运行它。

但是在数据库中,该ID应该为NOT NULL,因为NULL进入的那一刻我们需要一条错误消息。

那么我该如何确切地告诉Room我需要什么,而不是让Room利用SQL和Java的混合方式(两者都不精确)?

0 个答案:

没有答案