处理模块间jpa实体依赖关系的正确方法

时间:2019-04-09 20:44:38

标签: java jpa microservices api-design

在对微服务进行编程时,我正在寻找处理模块间jpa实体依赖关系的正确方法。请考虑以下实体类:

@Entity
@Table(name = "irrelevant_table")
private class SomeEntity implements Serializable {

    @Id
    @GeneratedValue
    @Column(name = "some_entity_id")
    private Long id;

    // remainder omitted for brevity
}

现在,当在另一个mircoservice中引用该对象时,您会

  • 导入必须包含在api中的实体类并引用它或
  • 仅通过其ID引用实体并保持隐藏实际的实体类?

以下实体类位于另一个mircoservice中,并且只有第一个的api作为依赖项。

@Entity
@Table(name = "other_irrelevant_table")
private class SomeOtherEntity implements Serializable {

    @Id
    @GeneratedValue
    @Column(name = "some_entity_id")
    private Long id;

    private SomeEntity entity;  // appraoch 1

    private Long someEntityId;  // appraoch 2

    // remainder omitted for brevity
}

我确实知道,这个问题可能属于过于宽泛的范畴,但我认为,一种方法比另一种方法更受欢迎。

0 个答案:

没有答案