ORMLite中主/外键关系的新表

时间:2012-10-14 12:40:31

标签: orm ormlite android-sqlite

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

现在你的问题:

  

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

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

  

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

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