首先我是 ORMLite 的新手。我希望我的模型类有一个字符串列表字段,它最终会保存我的模型对象的标签列表。
我应该使用哪些 ORMLite 注释?
首先我不想有一个包含所有标签的表格,然后使用@ForeignCollectionField
。
我也想过使用@DatabaseField(dataType=DataType.SERIALIZABLE)
注释,但事实证明List<String>
没有实施Serializable
界面。
您有什么建议?
首先,List没有实现Serializable
但 ArrayList 确实和大多数常见的集合实现一样好。但从纯对象模型的角度来看,存储一个巨大的列表可能并不是最好的方法。
那么为什么你不想拥有一个包含所有标签的表格呢?从纯模型的角度来看,这是最好的方法。如果您每次都需要它们,则需要第二次查询。这就是 hibernate 存储标签列表或数组的方式。
读完你的评论@creen,我仍然认为你do想要一个标签表。您的模型类将具有:
@ForeignCollectionField
Collection<Tag> tags;
The tags
表会not有一个名为"red"
有多个模型类引用它,但多个"red"
条目。它看起来像:
model_id name
1 "red"
1 "blue"
2 "red"
3 "blue"
3 "black"
每当您删除模型对象时,您首先要执行以下操作tags.clear();
这将从标签表中删除与该模型关联的所有标签。您无需进行任何额外的清理或任何操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)