首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >房间、SQLite和类层次结构

房间、SQLite和类层次结构
EN

Stack Overflow用户
提问于 2018-06-08 04:05:25
回答 1查看 184关注 0票数 0

所以,这就是我的问题。我已经在谷歌上搜索了一段时间了,关于这个话题似乎没有其他问题让我感到困扰。

在我的Android应用程序中,我有一个类层次结构,一个旅游景点列表。每个TouristAttraction都有一个布尔属性,该属性指定该吸引力是否属于用户“最喜欢”的吸引力。

但是,当我插入特定类型的旅游景点时,比如Monument,Room insert将继承的和特定的属性放在一个表中,而不是放在超类表中,所以当我想要获得所有“喜爱的”景点的列表时,我必须组合每个子类的select查询结果。

此外,当我想要标记为最喜欢的东西时,我必须首先查看它是什么类型的旅游景点,然后获得特定的DAO……这看起来有点丑陋。有没有办法,当我在Monument表中插入新行时,继承字段中的数据被插入到超类表中?

每当我需要收集每个旅游景点的数据时,这个问题就会发生,比如位置等等。

EN

回答 1

Stack Overflow用户

发布于 2018-06-08 06:06:33

我不熟悉android-room。但是从sqlite的角度来看,我会将您的TouristAttactions组织在一个单独的表中,没有任何喜欢的标志。然后有第二个表,其中包含用户的最爱和景点之间的映射。

代码语言:javascript
复制
CREATE TABLE tabTouristAttrations (ID INTEGER AUTOINCREMENT, Name TEXT, ...);
CREATE TABLE mapFavoritesUser (AttrID INTEGER NOT NULL, UserID INTEGER NOT NULL, PRIMARY KEY (AttrID, UserID)

干杯安迪

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50749391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档