2012-08-01 105 views
4

我是新来ormlite,我想设置默认值对于某些领域,如如何将默认值设置为ormlite中的列?

@DatabaseField(generatedId = true, canBeNull = false) 
int id; 
@DatabaseField(canBeNull = true) 
String user_type; 
@DatabaseField(canBeNull = true) 
String username; 
@DatabaseField(canBeNull = true) 
String password; 
@DatabaseField(canBeNull = true) 
int id_color; 

我不得不设置的用户名字段的默认值。我该怎么做呢?提前致谢!!!!

回答

11

我必须设置用户名字段的默认值。我该怎么做呢?

我花了很多时间在ORMLite documentation。你应该总是从那里开始。如果您转到文档索引并查找default value它会告诉您@DatabaseField注释中有defaultValue字段。这里是javadocs for that field

类似下面应该工作:

@DatabaseField(defaultValue = "unknownName", canBeNull = true) 
String username; 
+5

我应该如何处理'defaultValue'为'boolean'?我知道这是在'SQLite'中存储为'int',但是'defaultValue =“1”'和'defaultValue =“true”'似乎都不起作用。我可以在创建之前使用'setter'来设置它,但我希望避免这种情况。 – theblang 2015-02-09 21:33:13

+0

@mattblang尝试将布尔值更改为布尔值 – anagaf 2015-07-25 15:06:47

1

但是,当你有一个日期字段初始化为当前日期,使用默认值是delecate。

因此,在你的领域类的构造函数(我们是人),你应该初始化这个领域如下:

public Person(String user_type,...,Date enrollement){ 
    this.user_type=user_type; 
    //.... 
    // or Calendar.getInstance().getTime() 
    this.enrollement = (enrollement == null) ? new Date() : enrollement; 
}