【发布时间】:2020-11-23 15:21:48
【问题描述】:
我正在努力确定正确的注释,以使用 Spring Boot JPA 映射星型模式。
让我们考虑 3 个表:
DIM_One (1)--------(1..n) FACT (1..n) ------------ (1) DIM_Two
DIM_One 和 DIM_Two 都有一个 id 作为它们的主键。 FACT的主键是(DIM_One_pk, DIM_Two_pk)的组合
目前,我的 DIM 表中的注释类似于:
@Table(name="DIM_One")
@Entity
@Getter
@ToString
public class One {
@Id
@Column(name = "dim_one_id")
private UUID id;
//...
}
至于 FACT 表,我有:
@Entity
@Table(name = "FACT")
@ToString
@Getter
public class Fact {
@EmbeddedId
private FactId id;
//...
}
具有相应的 FactId 类:
@Embeddable
@Getter
@EqualsAndHashCode
public class FactId implements Serializable {
private One one;
private Two two;
}
我觉得我需要使用正确的注释来使其与基数相对应有点迷失:
DIM_One (1)--------(1..n) FACT (1..n) ------------ (1) Dim_Two
此外,它实际上应该映射为 OneToMany 还是 OneToOne ?
【问题讨论】:
标签: java spring-boot spring-data-jpa star-schema