Kijkend naar de volgende regel in de stacktrace
u kunt raden wat het probleem kan zijn. Het eerste probleem is het probleem met de databasedriver, denk ik. 1527 is het standaard poortnummer van de derby-database die bij de Glassfish-toepassingsserver wordt geleverd.
Omdat je geen gegevensbron hebt opgegeven in je configuratie, probeert de server de standaarddatabase te vinden, in dit geval derby; maar u kunt geen verbinding maken met die database omdat u geen verbindingsinformatie voor deze database heeft opgegeven.
U moet dus het volgende doen in uw META-INF/persistence.xml :
-
Geef het
transaction-type. op (in uw configuratie wordt aangenomen dat het JTA is omdat u uw toepassing op JEE-omgeving per specificatie implementeert) als<persistence-unit name="unit" transaction-type="JTA"> -
Geef de
jta-data-sourceelement als een kind vanpersistence-unit<persistence-unit name="unit" transaction-type="JTA"> ... <jta-data-source>your_data_source_name</jta-data-source> ... </persistence-unit>
Om de bovenstaande configuratie te laten werken, moet u eerst uw applicatieserver (Glassfish) configureren. Hiervoor moet u het MySQL jdbc-stuurprogramma downloaden, het uitpakken en het jar-bestand kopiëren naar <glassfish_installation_directory>/glassfish/domains/domain1/lib (Ik ga hier uit van Glassfish 3.1). De reden hiervoor is dat Glassfish niet wordt geleverd met MySQL-stuurprogramma, dus u moet dit zelf doen.
Start hierna Glassfish en open de beheerdersconsole (https://localhost:4848 ). Open in het linkerdeelvenster
Resources/JDBC/JDBC Connection Poolsen maak een nieuwe verbindingspoolResources/JDBC/JDBC Resourcesen maak een nieuwe gegevensbron aan. De naam die u aan uw gegevensbron geeft, is de naam die u moet gebruiken in uwpersistence.xmlzoals hierboven vermeld.