hibernate 5 + ZonedDateTime + postgresql incluye la zona horaria y el desplazamiento

Tengo una aplicación en ejecución spring boot 1.3 + hibernate 5 + java 8 + ZonedDateTime + postgresql y en una de las tablas tengo los siguientes campos.

@Column(name = "DATE_ENABLED")
@Type(type="java.time.ZonedDateTime")   
private ZonedDateTime dateEnabled;

@Column(name = "DATE_DISABLED")
@Type(type="java.time.ZonedDateTime")   
private ZonedDateTime dateDisabled;

Si ejecuto la aplicación, veo que esto por defecto produce "marca de tiempo sin zona horaria"

testDB=# \d type
                Table "public.type"
             Column             |            Type             | Modifiers 
--------------------------------+-----------------------------+-----------
 type_id                        | bytea                       | not null
 date_disabled                  | timestamp without time zone | 
 date_enabled                   | timestamp without time zone | 

Sé que si agrego el columnDefinition = "TIMESTAMP WITH TIME ZONE" a la columna, es decir, algo como

@Column(name = "DATE_DISABLED", columnDefinition= "TIMESTAMP WITH TIME ZONE")

entonces funciona correctamente y puedo ver que hibernate creó una columna con zona horaria, pero si entiendo esto correctamente solo funcionará para postgres, es decir, si cambio la base de datos mañana a mysql, hibernate arrojará un error.

Por lo tanto, mi pregunta es cómo hacer eso en general, es decir, decirle a Hibernate que cree una columna que debe incluir la zona horaria y el desplazamiento. Era de la opinión de que, dado que el tipo de Java "ZonedDateTime" se crea deliberadamente para incluir la zona horaria y el desplazamiento de hora en UTC, hibernate creará por defecto una columna que incluya la zona horaria. Por lo tanto, la pregunta nuevamente: ¿cuál es la forma correcta de decirle a Hibernate que incluya la zona horaria y el desplazamiento?

Aquí hay partes de mi pom:

    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.0.RELEASE</version>

    <hibernate.version>5.0.4.Final</hibernate.version>

    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-java8</artifactId>
        <version>${hibernate.version}</version>
    </dependency>

y mi archivo de propiedades que muestra el dialecto

    @Bean
    public  Properties hibernateProperties() {
      return new Properties() {
        {
            setProperty("hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect");
            setProperty("hibernate.chach.provider_class", "org.hibernate.cache.NoCacheProvider");
            setProperty("hibernate.show_sql", "true");              
            setProperty("hibernate.hbm2ddl.auto", "create-drop");
         }
      };
   }

Respuestas a la pregunta(1)

Su respuesta a la pregunta