Вы можете иметь копию этой сущности в вашей базе данных и позаботиться о том, чтобы поддерживать ее синхронизацию (при необходимости¹) с другой микро-службой.
Итак, вам нужно создатьновая сущность с теми же полями, создающая связь с SampleObject
, что более логично для сущности SampleObject
.Например:
@ManyToOne
private LargeObject objectFromAnotherService;
largeObjectId
можно переместить в этот новый объект.Итак, перед созданием сущности SampleObject вы отправляете запрос в другой микросервис для получения данных LargeObject и создания сущностей SampleObject и LargeObject.
Другой альтернативой является сопоставление всех полей из LargeObject напрямую с SampleObject., без создания эксклюзивного класса для этого.Я не знаю контекста вашей проблемы, но этот подход имеет смысл во многих сценариях.
Но будьте осторожны с этим сценарием: если эти два микросервиса так сильно нуждаются друг в друге, может быть, они должны быть вместе, а не разделены.
¹.Это называется возможной последовательностью.Поскольку вопрос не упоминается, если это необходимо или нет, я просто даю эту сноску в качестве ссылки