Ich versuche, eine einfache Hibernate-Anwendung einzurichten, wenn ich sie ausführe, bekomme ich eine Stack-Trace voller Fehler.
Ich habe folgende Maven-Abhängigkeiten in meiner pom.xml
-Datei:
Und die mysql-Version, die ich lokal verwende, ist:
%Vor%Ich laufe, was scheint, eine sehr einfache Methode, und immer noch Fehler:
%Vor%Nachdem das obige ausgeführt wurde, bekomme ich einen langen Stack-Trace ... Die System.out.println druckt auch nicht ... Also die Verbindung scheint einfach nicht zu verbinden.
%Vor%Ich bin auf diesen Fehler hier konzentriert:
Der Server-Zeitzonenwert 'AEST' wird nicht erkannt oder repräsentiert mehr als eine Zeitzone. Sie müssen entweder den Server oder JDBC konfigurieren Treiber (über die Konfigurationseigenschaft serverTimezone), um mehr zu verwenden Spezifischer Zeitzonenwert, wenn Sie die Zeitzonenunterstützung nutzen möchten.
Ich bin mir nicht sicher, wie ich es repariere?
Das Ausdrucken der Zeitzone (System.out.println (TimeZone.getDefault ());) druckt die folgenden Details:
sun.util.calendar.ZoneInfo [id="Australien / Melbourne", offset = 36000000, dstSavings = 3600000, useDaylight = true, Übergänge = 142, lastRule = java.util.SimpleTimeZone [id = Australien / Melbourne, Offset = 36000000, dstSavings = 3600000, useDaylight = true, startYear = 0, startMode = 3, startMonth = 9, startDay = 1, startDayOfWeek = 1, startTime = 7200000, startTimeMode = 1, endMode = 3, endMonth = 3, endDay = 1 , endDayOfWeek = 1, endTime = 7200000, endTimeMode = 1]]
Also habe ich mir die Frage angeschaut, die markiert war, und versucht, meine Verbindungszeichenfolge zu ändern, aber es wirft immer noch die gleiche Stack-Trace ab. Unten ist meine neue Verbindungs-URL. Wie Sie sehen können, habe ich die ServerTimezone auf die gedruckte Timezone.getDefault()
Die Ausnahme wird ausgelöst, weil die Zeitzone des MySql-Servers (geerbt von der Systemzeitzone) in einem anderen Format vorliegt, als das, was der mysql-Konnektor erwartet. Sie müssen MySql timezone auf "Australien / Sydney" setzen. Schau dir diese tolle Antwort für Details an: Sollte MySQL seine haben Zeitzone auf UTC eingestellt?
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
SET GLOBAL time_zone = 'Australia/Sydney';
Verwenden Sie &
anstelle von &
.
Sie können versuchen, die Zeitzone auch auf mysql zu ändern:
%Vor%Und sehen Sie die aktuelle Einstellung:
%Vor%