Я могу придумать два варианта, но все зависит от ваших вариантов использования:
1. Создание живых представлений в базе данных default_
Вы работаете с 31 дочерней базой данных, но нужен ли вам доступ ко всем их данным? Если на этот вопрос нет ответа (например, вы ожидаете, что в будущем потребуется доступ к произвольной таблице из одной из этих 31 баз данных), то в режиме реального времени не нужно.
Если установлено, что все данные, которые вам когда-либо понадобятся для вашего приложения, - из БД 1 - таблицы A и B; из DB2 - таблица C; из DB3 - таблицы D и E; и так далее - это может быть хорошим подходом для создания представлений.
Вам также следует учитывать размер данных таблицы и выполняемые операции (например, только чтение или запись?)
2. Настройка Hibernate для мультитенюса:
Вы можете настроить hibernate для выполнения запросов в разных базах данных.
Вам необходимо позаботиться о следующих вещах:
Вы можете следовать официальному документу для получения более подробной информации и примеров кода, а также этой превосходной практической статье самого мастера.