При программировании микросервисов я ищу правильный подход для решения межмодульных зависимостей сущностей 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, и ссылаться на него или
- а точнее ссылаться на сущность только по ее идентификатору и держать скрытый класс сущности?
Следующий класс сущностей находится в другом 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
}
Я понимаю, что этот вопрос может быть отнесен к категории слишком широких, но я считаю, что один аппрох более предпочтителен, чем другой.