我正在使用 ORMLite 读取对象的层次结构。它的形状像一棵树,父母有一个@ForeignCollection
孩子0+
,每个孩子都用@DatabaseField(foreign=true)
. 我正在一次读取并保存整个层次结构。
由于我一般是 ORM 和 ORMLite 的新手,所以我不知道当读取数据库中具有相同 ID的对象时,它们不会被创建为具有相同 Identity的实际相同对象,但作为具有相同 ID 的几个重复项。意思是,我现在面临的问题是(假设“->”代表“指”)A -> B -> C!= C -> B -> A。
我正在考虑通过提供的 DAO 手动读取它们并通过它们的 ID 将它们放在一起来解决问题,确保具有相同 ID 的对象具有相同的身份。
是否有 ORMLite-native 解决此问题的方法?如果是,它是什么,如果不是,解决这个问题的常用方法是什么?这是ORM的普遍问题吗?它有名字吗(我想了解更多)?
编辑:
我的层次结构是,一个建筑物包含多个楼层,每个楼层都知道它的建筑物,每个楼层都包含几个区域,每个区域都知道它的楼层。