【发布时间】:2013-08-03 02:56:36
【问题描述】:
我正在使用 OrmLite 4.46 来管理我的 android 应用程序的数据库。
我有一个问题:
我的模型有以下代码:
public class Item extends Model {
@DatabaseField(generatedId = true)
private long id;
@DatabaseField(columnName = "item_name", defaultValue = "")
private String name;
@DatabaseField(columnName = "item_count", defaultValue = "0")
private int count;
public Item() {
super();
}
}
问题就在这里:
@DatabaseField(columnName = "item_name", defaultValue = "")
private String name;
当我创建一个不带参数的新 Item() 并将其保存在数据库中时,通常在 item_name 列中它应该保存一个空字符串。
但是当我从数据库中检索项目并尝试时
String itemName = item.getName().trim() 我得到一个 NullPointerException
所以看起来名字是空的。
我还检查了在 sqlite db 文件中从上述模型创建的表,当我设置 defaultValue="" 时,创建的列没有默认值。
有人知道解决这个问题的方法吗?
【问题讨论】: