我想坚持一个包含String数组的类。 如何在ormlite中做到这一点? 例如,
class A {
int age;
String[] childrenNames = new String[2];
}
答案 0 :(得分:10)
首先创建Serializable类。 您可以选择通过注释在类顶部添加表名。
然后对于变量,您必须添加数据库字段注释。对于字符串数组,您还必须将其注释为Serializable数据类型。 你会得到这样的东西:
@DatabaseTable(tableName = "A")
Class A implements Serializable{
@DatabaseField
int age
@DatabaseField(dataType = DataType.SERIALIZABLE)
String[] childrenNames = new String[2];
}
也不要忘记为每个变量创建getter和setter。
答案 1 :(得分:3)
我想坚持一个包含String数组的类。如何在ormlite中做到这一点?例如,
您肯定可以将其存储为序列化流。
但是,更好的方法是使用ForeignCollection
。 ORMLite不会像其他ORM库那样支持数组。也许它应该。与此同时,以下是为您的孩子设置另一个表名的文档:
一张表适用于A
。另一个表格是ChildrenName
。每个ChildrenName
实体都有一个A
的外地字段,可以显示每个名称对应的A
。
答案 2 :(得分:1)
@Gray告诉todo更好的方式。
@ForeignCollectionField(eager = false) ForeignCollection订单;
来自docs: 在上面的示例中,@ ForeignCollectionField注释标记订单字段是与帐户匹配的订单的集合。
订单的字段类型必须是ForeignCollection或Collection - 不支持其他集合,因为它们比许多支持的方法要重得多。