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-source
prvek 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 (http://localhost:4848 ). V levém podokně otevřete
Resources/JDBC/JDBC Connection Pools
a vytvořte nový fond připojeníResources/JDBC/JDBC Resources
a vytvořte nový zdroj dat. Název, který zadáte svému zdroji dat, je ten, který musíte zadat vpersistence.xml
jak je uvedeno výše.