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-source
elemen 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 (http://localhost:4848 ). Di panel kiri, buka
Resources/JDBC/JDBC Connection Pools
dan buat kumpulan koneksi baruResources/JDBC/JDBC Resources
dan membuat sumber data baru. Nama yang Anda berikan ke sumber data Anda adalah nama yang Anda miliki dipersistence.xml
Anda seperti yang disebutkan di atas.