小编Cod*_*zon的帖子

Hibernate和MySQL的时区问题

我正在尝试使用tomcat(8.5)和mysql(v.8.0.12)配置hibernate(5.3.3 Final)。当我将hibernate.connection.url设置为'jdbc:mysql:// localhost:3306 / sakila'启动HibernateTest.java(教程中的非常简单的代码,这里没有问题)时,遇到以下错误:

Caused by: java.sql.SQLException: The server time zone value 'Paris, Madrid 
(heure d?été)' is unrecognized or represents more than one time zone. You 
must configure either the server or JDBC driver (via the serverTimezone 
configuration property) to use a more specifc time zone value if you want to 
utilize time zone support.
Run Code Online (Sandbox Code Playgroud)

MySQL当前在全局和会话的“ SYSTEM”时区上设置(mysql>选择@@ global.time_zone,@@ session.time_zone)。我的系统时区确实是巴黎/马德里。在我的hibernate.cfg.xml文件中,当我编写连接url时:

jdbc:mysql://localhost:3306/sakila?useJDBCCompliantTimezoneShift=true;useLegacyDatetimeCode=false;serverTimezone=UTC;
Run Code Online (Sandbox Code Playgroud)

错误是:

com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the connection string near '=false;serverTimezone=UTC;'.
Run Code Online (Sandbox Code Playgroud)

这不是stackoverflox帖子“带有mysql服务器时区和jdbc连接的问题”中提到的问题,因为Eclipse拒绝了“&”,请参见hibernate.cfg.xml文件的屏幕截图:

对实体“ useLegacyDatetimeCode”的引用必须以定界符“;”结尾

正如在stackoverflow帖子“格式错误的数据库URL,无法解析主要URL部分”中提到的那样,它不是'mysql:'和'// localhost'之间的不可见字符。我尝试通过MySql Workbench设置适合马德里/巴黎夏令时的本地时间(default-time-zone …

java mysql timezone hibernate

6
推荐指数
3
解决办法
8641
查看次数

标签 统计

hibernate ×1

java ×1

mysql ×1

timezone ×1