Saya memiliki masalah yang sama dan dapat menggali kode untuk mengetahui penyebabnya, setidaknya dalam kasus saya. Saya tidak tahu apakah ini akan menjadi masalah yang sama untuk Anda, tetapi ini mungkin berguna.
Dari jejak tumpukan Anda, saya dapat melihat Anda mengatur hibernate.hbm2ddl.auto untuk memutakhirkan skema. Sebagai bagian dari ini, ia mencoba mencari metadata untuk semua tabel yang diketahui hibernasi dan salah satunya mendapatkan jawaban yang ambigu karena kueri metadata mengembalikan lebih dari satu baris tabel atau melihat metadata.
Dalam kasus saya ini disebabkan oleh konvensi penamaan kami untuk tabel. Kami memiliki tabel yang disebut (katakanlah) "AAA_BBB" yang salah. Sekarang penggunaan garis bawah dalam nama tabel dapat diterima sejauh yang saya ketahui dan merupakan praktik yang cukup umum. Namun garis bawah juga merupakan wildcard SQL untuk satu karakter; mencari kode untuk metadata database, saya dapat melihatnya melakukan "WHERE table_name LIKE ..." dalam metode DatabaseMetaData.getTables(...), yang digunakan hibernate di sini.
Sekarang, dalam skema saya, saya juga memiliki tabel kedua yang disebut "AAA1BBB" dan karenanya keduanya cocok dengan pencarian metadata sehingga mengembalikan baris metadata untuk masing-masing tabel ini. Metode hibernasi ditulis untuk jatuh jika hasil yang ditetapkan dari pencarian metadata tabel mengembalikan lebih dari satu baris. Saya kira itu harus memeriksa baris yang tersedia dan menemukan apakah ada yang sama persis dengan nama tabel yang ditentukan.
Saya menguji ini untuk Oracle dan MySQL dengan hasil yang sama.