Rüd*_*ger 16 android android-room
在查看新的Android Persistence Library 的@ColumnInfo文档时,我找不到任何关于如何注释SQL - "DEFAULT"值的信息.
Room甚至提供默认值的注释?
我目前的解决方案是手动创建相应的表...
CREATE TABLE MyTable (
...
MyDefaultValuedCol TEXT DEFAULT 'Default Value',
MyDefaultFlagCol INT DEFAULT 1
)
Run Code Online (Sandbox Code Playgroud)
......把房间放在上面.
@Entity(tableName = "MyTable")
class MyClass {
...
public String MyDefaultValuedCol;
public boolean MyDefaultFlagCol;
}
Run Code Online (Sandbox Code Playgroud)
Sad*_*dan 10
@ColumnInfo您可以使用注释设置默认值 -
@ColumnInfo(defaultValue = "No name")
public String name;
Run Code Online (Sandbox Code Playgroud)
和
@ColumnInfo(defaultValue = "0")
public int flag;
Run Code Online (Sandbox Code Playgroud)
或者对于任何类型的数据类型,请检查此处的Google 开发人员文档的参考
Room没有默认值的任何注释,但您可以在实体中设置默认值,如下所示:
@Entity(tableName = "MyTable")
class MyClass {
...
public String MyDefaultValuedCol = "defaultString";
public boolean MyDefaultFlagCol = true;
}
Run Code Online (Sandbox Code Playgroud)
随着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
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10154 次 |
| 最近记录: |