@Xorxorxor: To zależy, co rozumiesz przez pojęcie „nowe CRUD-y”. Jeżeli jest, to kod napisany od zera. Wepchnięty do bazy i już nigdy nie będzie zmieniany, to można od biedy skonfigurować JPA(Hibernate) tak, by przy uruchomieniu aktualizował schemat. Jednak nie jest to najlepsza opcja jeżeli schemat będzie się zmieniać. Zmiany powinien obsługiwać czy to Liquidbase czy Flyway(L/F), które mają wbudowane mechanizmy pozwalające na wycofywanie zmian oraz znacznie lepiej wspierają wersjonowanie schematów.
Rozumiem „lenistwo” przy przygotowaniu inicjalizacji, bo nikomu nie chce się klepać sqla. Dlatego warto zastosować podejście pośrednie.
Inicjacja
Masz nowy moduł/CRUD, w którym zdefiniowałeś sobie mapowiania. Następnie bierzesz plugin do mavena, który wygeneruje za ciebie DDLe, które to DDLe umieścisz w odpowiednich katalogach L/F. W ten sposób masz „odwaloną” żmudną część pracy.
Zmiany i utrzymanie
Realizujesz już za pomocą skryptów L/F. Przy czym w konfiguracji JPA podajesz, żeby przy starcie walidował schemat.