我在这里有一些示例实体:
@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;
}
我是否正确建立了这种关系?对于一个ObjectCategory,可以有许多具有不同值/时间戳的Datapoints。
但是,我想确保对于任何给定的ObjectCategory,没有重复的时间戳。如果我在时间戳上添加@Unique或@Index(unique = true)约束,它会认为时间戳必须在所有ObjectCategories中是唯一的,这不是我的意图。具体来说,我希望(objectCategoryId,timestamp)是唯一的。
我正在使用GreenDao的最新版本,其中从您的实体为您生成架构。