4
respostas

The server time zone value 'Hora oficial do Brasil'

Ao tentar executar ele gera o seguinte erro ERROR: The server time zone value 'Hora oficial do Brasil' 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. Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275) Caused by: org.hibernate.exception.GenericJDBCException: Error calling Driver#connect

Meu persistence

<!-- unidade de persistencia com o nome financas -->
<persistence-unit name="financas">

    <!-- Implementação do JPA, no nosso caso Hibernate -->
    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

    <!-- Aqui são listadas todas as entidades -->
    <class>br.com.curso.financas.modelo.Conta</class>

    <properties>    
        <!-- Propriedades JDBC -->
        <property name="javax.persistence.jdbc.driver" 
            value="com.mysql.jdbc.Driver" />
       <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/java?useTimezone=true&serverTimezone=UTC"/>

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

        <property name="javax.persistence.jdbc.user" value="root" />
        <property name="javax.persistence.jdbc.password" value="mastersaf"/>

        <!-- Configurações específicas do Hibernate -->
        <property name="hibernate.dialect" 
            value="org.hibernate.dialect.MySQL5InnoDBDialect" />

        <property name="hibernate.hbm2ddl.auto" value="update" />
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />
    </properties>
</persistence-unit>

O banco ja esta setado com a hora do Brasil

4 respostas

Boa noite Carlos,

Você está usando a versão 8.0 do mysql?

Muitas pessoas conseguiram resolver este problema modificando a versão para mysql-connector-java pela 5.1.42, mas eu acredito que essa não seja a melhor solução.

Caso esteja usando a versão 8.0 você precisará alterar a linha value="com.mysql.jdbc.Driver" /> para value="com.mysql.cj.jdbc.Driver" />

Se desejar verificar as modificações que foram realizadas no mysql basta acessar: https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-api-changes.html

Eu uso o 5.5 e ja fiz o teste colocando o cj mas também continua dando o mesmo erro.

Algum retorno?

?????????????????????????????????????????????????????/