【问题标题】:JPA and server time zone errorJPA 和服务器时区错误
【发布时间】:2016-12-28 17:39:00
【问题描述】:

无论我如何更改 phpmyadmin 中的时区或 persistence.xml 中的连接字符串,我都会收到此错误:

 com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: 
 The server time zone value 'Romance Summer Time' 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.

这是我的 persistence.xml:

<persistence-unit name="booking" transaction-type="RESOURCE_LOCAL">
        <properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/_boekingdb_/>
            <property name="javax.persistence.jdbc.user" value="root"/>
            <property name="javax.persistence.jdbc.password" value=""/>
            <property name="hibernate.show_sql" value="true"/>
        </properties>
    </persistence-unit>

添加

?useUnicode=true&amp;useJD‌​BCCompliantTimezoneS‌​hift=true&amp;useLeg‌​acyDatetimeCode=fals‌​e&amp;serverTimezone‌​=UTC"

到 jdbc.url 连接字符串什么都不做

我什至不知道这个“浪漫夏日时光”是从哪里来的。

任何帮助将不胜感激

【问题讨论】:

    标签: java mysql jpa jdbc


    【解决方案1】:

    只需添加

    default-time-zone=+00:00
    

    到 my.ini(在 xamp\mysql\bin 中)修复了所有问题...

    【讨论】:

      【解决方案2】:

      添加serverTimezone=UTC

      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/_boekingdb_/>
      

      而且效果很好。结果是

      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/_boekingdb_/?serverTimezone=UTC>
      

      【讨论】:

        猜你喜欢
        • 2013-08-25
        • 2012-12-01
        • 2019-03-25
        • 2017-12-11
        • 2010-11-07
        • 1970-01-01
        • 1970-01-01
        • 2018-11-02
        • 1970-01-01
        相关资源
        最近更新 更多