Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Hibernacja wymusza sygnaturę czasową, aby zachować/załadować jako UTC

Tylko dla MySQL , alternatywą dla implementacji niestandardowych typów hibernacji jest dodanie następujących opcji JDBC do adresu URL połączenia JDBC:

useTimezone=true
serverTimezone=UTC

Wymusi to połączenie JDBC ze strefą czasową UTC i poprosi MySQL o wykonanie konwersji ze strefy czasowej JVM. Efektem netto jest to, że możesz zachować lokalną strefę czasową w JVM (np. do drukowania komunikatów dziennika itp.), podczas gdy kolumny DATETIME będą utrwalane jako UTC.

Na przykład:

<bean id="hibernateAnalysisSessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="hibernateProperties">
        <props>
            <!-- Connection parameters -->
            <prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
            <prop key="hibernate.connection.url">jdbc:mysql://hostname/databaseName?useTimezone=true&amp;serverTimezone=UTC</prop>
            ...


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rozmiar VARCHAR MySQL?

  2. Jaki jest najlepszy sposób przechowywania historycznego cennika w tabeli MySQL?

  3. Jak wybrać maksymalnie 3 elementy na użytkownika w MySQL?

  4. Czy wątek mysql_insert_id jest bezpieczny?

  5. Uaktualnij MySQL do MariaDB 10 (Część 2 – Uaktualnij MariaDB/MySQL 5.5 do wersji 10.0)