如何在 android 房间实体中注释默认值?

新手上路,请多包涵

在查看新 Android Persistence Library 的 @ColumnInfo 文档时,我找不到任何有关如何注释 SQL -“DEFAULT”值的信息。

Room 甚至为默认值提供注释吗?

我目前的解决方案是手动创建相应的表…

 CREATE TABLE MyTable (
  ...
  MyDefaultValuedCol  TEXT DEFAULT 'Default Value',
  MyDefaultFlagCol    INT  DEFAULT 1
)

… 并将 Room 放在最上面。

 @Entity(tableName = "MyTable")
class MyClass {
    ...

    public String MyDefaultValuedCol;

    public boolean MyDefaultFlagCol;

}

原文由 Rüdiger 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 430
2 个回答

随着 room persistence 2.2.0 的发布,@ColumnInfo 注释中添加了一个新属性,可用于指定列的默认值。请参阅 文档

 @Entity(tableName = "users")
data class User(
    @PrimaryKey val id: Long,
    @ColumnInfo(name = "user_name", defaultValue = "temp") val name: String
    @ColumnInfo(name = "last_modified", defaultValue = "CURRENT_TIMESTAMP" ) val lastModified: String
)

原文由 Ahsan Saeed 发布,翻译遵循 CC BY-SA 4.0 许可协议

Room 没有任何默认值注释,但您可以在您的实体中设置默认值,如下所示:

 @Entity(tableName = "MyTable")
class MyClass {
    ...

    public String MyDefaultValuedCol = "defaultString";

    public boolean MyDefaultFlagCol = true;

}

原文由 AliSh 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题