Имах същия проблем и успях да разровя кода, за да открия причината, поне в моя случай. Не знам дали ще бъде същия проблем и за вас, но това може да е полезно.
От проследяването на стека ви виждам, че сте настроили hibernate.hbm2ddl.auto за надграждане на схемата. Като част от това, той се опитва да търси метаданните за всички таблици, за които hibernate знае, и за една от тях получава двусмислен отговор, тъй като заявката за метаданни връща повече от един ред метаданни за таблица или изглед.
В моя случай това беше причинено от нашата конвенция за именуване на таблици. Имахме таблица, наречена (да кажем) "AAA_BBB", за която това се обърка. Сега използването на долна черта в името на таблицата е напълно приемливо, доколкото ми е известно, и е доста обичайна практика. Долната черта обаче е също и SQL заместващ знак за един знак; гледайки в кода за метаданните на базата данни, виждам, че прави "WHERE table_name LIKE ..." в метода DatabaseMetaData.getTables(...), което е това, което hibernate използва тук.
Сега в моята схема имах и втора таблица, наречена "AAA1BBB" и следователно и двете съответстваха на търсенето на метаданни и така върна ред с метаданни за всяка от тези таблици. Методът на хибернация е написан така, че просто да падне, ако наборът от резултати от търсенето на метаданни в таблицата върне повече от един ред. Предполагам, че трябва да прегледа наличните редове и да намери дали има такъв, който съвпада точно с указаното име на таблица.
Тествах това както за Oracle, така и за MySQL със същия резултат.