Podívejte se na následující řádek v stacktrace
můžete hádat, v čem může být problém. Prvním problémem je myslím problém s ovladačem databáze. 1527 je výchozí číslo portu databáze derby, která je dodávána s aplikačním serverem Glassfish.
Protože jste ve své konfiguraci nezadali žádný zdroj dat, server se snaží najít výchozí databázi, což je v tomto případě derby; ale nemůžete se připojit k této databázi, protože jste nezadali žádné informace o připojení pro tuto databázi.
Takže ve vašem META-INF/persistence.xml musíte provést následující :
-
Zadejte
transaction-type(ve vaší konfiguraci se předpokládá, že je to JTA, protože nasazujete svou aplikaci v prostředí JEE podle specifikace) jako<persistence-unit name="unit" transaction-type="JTA"> -
Zadejte
jta-data-sourceprvek jako podřízený prvekpersistence-unit<persistence-unit name="unit" transaction-type="JTA"> ... <jta-data-source>your_data_source_name</jta-data-source> ... </persistence-unit>
Aby výše uvedená konfigurace fungovala, musíte nejprve nakonfigurovat aplikační server (Glassfish). Chcete-li to provést, musíte si stáhnout ovladač MySQL jdbc, rozbalit jej a zkopírovat soubor jar do <glassfish_installation_directory>/glassfish/domains/domain1/lib (Předpokládám zde Glassfish 3.1). Důvodem je, že Glassfish není dodáván s ovladačem MySQL, takže to musíte udělat sami.
Poté spusťte Glassfish a otevřete administrátorskou konzoli (https://localhost:4848 ). V levém podokně otevřete
Resources/JDBC/JDBC Connection Poolsa vytvořte nový fond připojeníResources/JDBC/JDBC Resourcesa vytvořte nový zdroj dat. Název, který zadáte svému zdroji dat, je ten, který musíte zadat vpersistence.xmljak je uvedeno výše.