使用 ORMLite 在数据库中表示字符串列表

2024-03-14

首先我是 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(使用前将#替换为@)

使用 ORMLite 在数据库中表示字符串列表 的相关文章

随机推荐