Ser på følgende linje i stacktrace
du kan gætte hvad problemet kan være. Det første problem er databasedriverproblemet tror jeg. 1527
er standardportnummeret for derbydatabasen, som leveres med Glassfish-applikationsserveren.
Da du ikke har angivet nogen datakilde i din konfiguration, forsøger serveren at finde standarddatabasen, som er derby i dette tilfælde; men du kan ikke oprette forbindelse til den database, da du ikke har angivet nogen forbindelsesinformation for denne database.
Så du skal gøre følgende i din META-INF/persistence.xml
:
-
Angiv
transaction-type
(i din konfiguration antages det at være JTA, fordi du implementerer din applikation på JEE-miljø pr. specifikation) som<persistence-unit name="unit" transaction-type="JTA">
-
Angiv
jta-data-source
element som underordnetpersistence-unit
<persistence-unit name="unit" transaction-type="JTA"> ... <jta-data-source>your_data_source_name</jta-data-source> ... </persistence-unit>
For at ovenstående konfiguration skal fungere, skal du først konfigurere din applikationsserver (Glassfish). For at gøre det skal du downloade MySQL jdbc-driveren, pakke den ud og kopiere jar-filen til <glassfish_installation_directory>/glassfish/domains/domain1/lib
(Jeg antager her Glassfish 3.1). Grunden til dette er, at Glassfish ikke sendes med MySQL-driver, så du skal selv gøre dette.
Start derefter Glassfish og åbn administrationskonsollen (http://localhost:4848 ). Åbn den venstre rude
Resources/JDBC/JDBC Connection Pools
og opret en ny forbindelsespuljeResources/JDBC/JDBC Resources
og opret en ny datakilde. Det navn, du giver din datakilde, er det, du skal i dinpersistence.xml
som nævnt ovenfor.