【问题标题】:New table for Primary/Foreign key Relationship in ORMLiteORMLite 中主/外键关系的新表
【发布时间】:2025-11-29 02:40:01
【问题描述】:

我的 android 数据库中有一个包含以下详细信息的用户表 用户名、密码、电子邮件、手机、

我的 android DB 中有另一个名为 Service 的表,其中包含以下详细信息 服务名称、服务类别、服务描述

现在,我想使用 ORMLite 将每个用户的关系(例如:用户名)与他/她的服务(服务名称)相关联。 我想为这种关系维护一个单独的表。现在,我的问题是这样的

  1. 如果我指定主键和外键关系,ORM 是否可以生成一个表,以便它可以为每个添加的服务填充数据?
  2. 我是否必须创建一个 bean 来维护我的用户表和服务表之间的公共字段,并在添加新服务时手动执行插入任务?

-谢谢 斯里坎特

【问题讨论】:

标签: orm ormlite android-sqlite


【解决方案1】:

看起来您可能已经解决了自己的问题,但我仍然会为后代回答。 ORMLiteUserService 之间的这种关系称为“外来对象”字段。这是documentation for foreign objects。听起来User 与服务相关联,因此您的User 类将具有Service service; 字段。比如:

public class User {
    ...
    @DatabaseField(canBeNull = false, foreign = true)
    private Service service;
}

现在你的问题:

如果我指定主键和外键关系,ORM 是否可以生成一个表,以便它可以为每个添加的服务填充数据?

ORMLite 处理外键限制,尽管您可以自己调整架构以添加它。如果您设置了外键,那么它将使用 User 表中 Service 中的主键。

我是否必须创建一个 bean 来维护我的用户表和服务表之间的公共字段,并在添加新服务时手动执行插入任务?

不确定我是否理解这个问题。您需要做的就是使用serviceDao 创建您的Service,然后将服务器添加到您的User,然后再使用userDao 创建它。

【讨论】: