Ничего не понятно из вопроса.
Что в вашем понимании "миграция"?
Какая разница MySQL или PostgreSQL, если для работы с БД используется ORM?
JDBC - это стандарт взаимодействия Java с СУБД, Hibernate - это ORM, SymmetricDS - это система репликации данных, Flyway - это библиотека миграции схем. Как они между собой связаны?
Hibernate - это не велосипед, велосипед - это разработка с нуля.
Чтобы с нуля разработать решение на столько же хорошее, как Hibernate, понадобится команда экстра-профи и пара-тройка лет как минимум.
Настоящий фуллстэк - это когда заказчик даёт вам пачку денег, а дальше вы самостоятельно анализируете его бизнес-процессы, составляете ТЗ, проэктируете инфраструктуру, на которой будет работать приложение, закупаете железо или виртуалки строго необходимых параметров, тонко настраиваете операционные системы серверов, фаерволлы, системы обнаружения вторжений и т.п., СУБД (возможно, с разработкой тригеров и хранимых процедур), DNS, кэширование и т.д., верстаете дизайн-шаблоны, пишите бэкенд и фронтенд, обкатываете всё это тестами, в том числе нагрузочными, оптимизируете, документируете и запускаете. Проще говоря, вы знаете и глубоко понимаете абсолютно все технологии используемые в проекте. Если вы просто пишите часть бизнес-логики на фротне, вы не фуллстэк.
DarkByte2015: стратегия именования, как и следует из её названия, используется тогда, когда Hibernate сам должен придумать имя на основе имени класса, а когда имя в аннотации или конфигурации указано явно, стратегия не используется.