Приложение будет предоставлять несколько WEB-сервисов, за каждый будет отвечать отдельный микросервис :) Но все они будут обращаться к одной базе данных.
Может быть вам нужны не микросервисы, а distributed monolith? Ну и реализовать паттерн shared database access
Я хочу сделать микросервис (или модуль?), который абстрагирует БД. Т.е. он умеет читать (пока только читать, а в перспективе и писать, и кэшировать запросы) записи из БД и раздавать их другим частям приложения. Все остальные части ничего не знают про БД, а пользуются готовыми объектами.
Тут можно и про SAGA задуматься.
Но допустим, у меня БД на 1000 таблиц (плюс ещё таблицы взаимосвязаны что порождает вложенные Java-объекты). Это значит, мне надо сделать 1000 репозиториев, в каждом Х методов (получение по ID, получение по значению поля, одного объекта, коллекции...). И ещё 1000*Х методов в контроллерах....
Честно, не уловил сути между количеством таблиц в БД и количеством репозиториев. Но если что можно же монорепо сделать.
Думаю, вам не нужны микросервисы. Вам понадобится monolith, ну или максимумdistributed monolith.
Много чего можно вынести в отдельные модули. Например, создать модуль persistence и вынести DAO туда