Я нашел решение. Вы можете подробно рассказать Hibernate, какой диалект выбрать, используя свойство hibernate.dialect
. Таким образом, вы можете реализовать свой собственный диалект расширяет класс org.hibernate.dialect.Dialect
, переопределить все открытые методы и делегировать вызовы определенных диалектов. Хорошо, что Hibernate вызывает методы this (Dialect
) перед выполнением любых запросов к базе данных. В моем конкретном случае я реализовал собственный диалект с картой диалектов, которая мне нужна для моего проекта, и теперь я могу использовать одни и те же репозитории и свободно выбирать Postgresql, Oracle или MySQL в зависимости от пользователя, вошедшего в систему