У нас есть работающая служба Springboot A
, которая создает некоторые реляционные сущности, используя Spring JPA с Hibernate ORM. Нам нужно создать новую службу Springboot B
, которая должна иметь доступ к таблицам A
, но с разными запросами.
Я думаю, есть несколько вариантов:
- Создание служба
B
использует Spring JPA и Hibernate и копирует одни и те же модели сущностей из службы A
Но я не уверен, вызывает ли этот метод какие-либо проблемы с синхронизацией, вызванные кешированием первого уровня Hibernate. Обе службы не будут использовать кеш 2-го уровня. - То же, что и вариант 1, благодаря чему служба
B
использует Spring JPA и Hibernate, но импортирует службу A
как зависимость в службе B
вместо копирования объекта модели. - Создание службы
B
используйте Spring JdbcTemplate, если мы не создаем никаких новых сущностей в службе B
.
Мне также нравится знать, как служба B
' Таблица s может иметь однонаправленную связь внешних ключей (@ManyToOne
или @OneToOne
) с таблицей сервиса A
.
Пожалуйста, посоветуйте мне, какой вариант лучше или есть лучший способ. Если использовать таблицы других сервисов - плохая практика, пожалуйста, предложите правильный дизайн. \
Спасибо