我希望将一个包含字符串数组的类持久化。如何在ormlite中实现? 例如,
class A {
int age;
String[] childrenNames = new String[2];
}
首先你需要将类序列化。你可以选择通过注释在类顶部添加表名。
然后对于变量,你必须添加数据库字段注释。对于字符串数组,你还需要将其注释为Serializable数据类型。你将得到以下内容:
@DatabaseTable(tableName = "A")
Class A implements Serializable{
@DatabaseField
int age
@DatabaseField(dataType = DataType.SERIALIZABLE)
String[] childrenNames = new String[2];
}
同时不要忘记为每个变量创建getter和setter。
一张表用于 A
。另一张表用于 ChildrenName
。每个 ChildrenName
实体都会有一个外键字段 A
,该字段将显示每个名称对应的哪个 A
。
@Gray 告诉了更好的方法。
@ForeignCollectionField(eager = false) ForeignCollection orders;
根据文档: 在上面的示例中,@ForeignCollectionField注释标记orders字段是与账户匹配的订单集合。
orders字段的类型必须是ForeignCollection或Collection - 不支持其他集合,因为它们太重且有许多需要支持的方法。
A
上进行序列化操作对问题没有帮助,反而具有误导性。 - Gray