GreenDao 3多列的唯一约束

时间:2016-11-02 16:19:56

标签: java android database orm greendao

我在这里有一些示例实体:

@Entity 
public class ObjectCategory {
    @Id(autoincrement = true)
    private Long id;

    @Index(unique = true)
    private String name;

    @ToMany(referencedJoinProperty = "objectCategoryId")
    private List<Datapoint> datapointList;
}

@Entity
public class Datapoint {
    @Id(autoincrement = true)
    private Long id;

    private String name;

    private long objectCategoryId;

    @ToOne(joinProperty = "objectCategoryId")
    private ObjectCategory objectCategory;

    private long value;

    private long timestamp;
}
  1. 我是否正确建立了这种关系?对于一个ObjectCategory,可以有许多具有不同值/时间戳的Datapoints。

  2. 但是,我想确保对于任何给定的ObjectCategory,没有重复的时间戳。如果我在时间戳上添加@Unique或@Index(unique = true)约束,它会认为时间戳必须在所有ObjectCategories中是唯一的,这不是我的意图。具体来说,我希望(objectCategoryId,timestamp)是唯一的。

  3. 我正在使用GreenDao的最新版本,其中从您的实体为您生成架构。

0 个答案:

没有答案