Melihat baris berikut di stacktrace
Anda bisa menebak apa masalahnya. Masalah pertama adalah masalah driver database saya pikir. 1527 adalah nomor port default database derby yang dikirimkan bersama server aplikasi Glassfish.
Karena Anda belum menyediakan sumber data apa pun dalam konfigurasi Anda, server mencoba menemukan database default yang dalam kasus ini adalah derby; tetapi Anda tidak dapat terhubung ke database itu karena Anda belum memberikan informasi koneksi apa pun untuk database ini.
Jadi, Anda harus melakukan hal berikut di META-INF/persistence.xml Anda :
-
Berikan
transaction-type(dalam konfigurasi Anda, diasumsikan sebagai JTA karena Anda menerapkan aplikasi Anda pada lingkungan JEE per spesifikasi) sebagai<persistence-unit name="unit" transaction-type="JTA"> -
Berikan
jta-data-sourceelemen sebagai anak daripersistence-unit<persistence-unit name="unit" transaction-type="JTA"> ... <jta-data-source>your_data_source_name</jta-data-source> ... </persistence-unit>
Agar konfigurasi di atas berfungsi, Anda harus terlebih dahulu mengkonfigurasi server aplikasi Anda (Glassfish). Untuk melakukannya, Anda harus mengunduh driver jdbc MySQL, membongkarnya dan menyalin file jar ke <glassfish_installation_directory>/glassfish/domains/domain1/lib (Saya berasumsi di sini Glassfish 3.1). Alasan untuk ini adalah Glassfish tidak dikirimkan dengan driver MySQL, jadi Anda harus melakukannya sendiri.
Setelah ini, jalankan Glassfish dan buka konsol admin (https://localhost:4848 ). Di panel kiri, buka
Resources/JDBC/JDBC Connection Poolsdan buat kumpulan koneksi baruResources/JDBC/JDBC Resourcesdan membuat sumber data baru. Nama yang Anda berikan ke sumber data Anda adalah nama yang Anda miliki dipersistence.xmlAnda seperti yang disebutkan di atas.