Miałem ten sam problem i byłem w stanie dokopać się do kodu, aby znaleźć przyczynę, przynajmniej w moim przypadku. Nie wiem, czy dla Ciebie będzie to ten sam problem, ale może to być pomocne.
Ze śledzenia stosu widzę, że masz ustawiony hibernate.hbm2ddl.auto do aktualizacji schematu. W ramach tego próbuje wyszukać metadane dla wszystkich tabel, o których wie hibernacja, i dla jednej z nich otrzymuje niejednoznaczną odpowiedź, ponieważ zapytanie o metadane zwraca więcej niż jeden wiersz metadanych tabeli lub widoku.
W moim przypadku było to spowodowane naszą konwencją nazewnictwa tabel. Mieliśmy stół o nazwie (powiedzmy) „AAA_BBB”, dla którego to się nie udało. O ile mi wiadomo, użycie podkreślenia w nazwie tabeli jest całkowicie dopuszczalne i jest to dość powszechna praktyka. Jednak podkreślenie jest również symbolem wieloznacznym SQL dla pojedynczego znaku; patrząc w kodzie dla metadanych bazy danych widzę, że robi "WHERE nazwa_tabeli LIKE ..." w metodzie DatabaseMetaData.getTables(...), której używa tutaj hibernacja.
Teraz w moim schemacie miałem również drugą tabelę o nazwie „AAA1BBB”, a zatem obie pasowały do wyszukiwania metadanych, a więc zwrócił wiersz metadanych dla każdej z tych tabel. Metoda hibernacji jest napisana tak, aby po prostu spadła, jeśli zestaw wyników z wyszukiwania metadanych tabeli zwróci więcej niż jeden wiersz. Sądzę, że powinien zbadać dostępne wiersze i znaleźć, czy istnieje taki, który jest dokładnym dopasowaniem do określonej nazwy tabeli.
Przetestowałem to zarówno dla Oracle, jak i MySQL z tym samym wynikiem.