Летнее время Java Hibernate MySQL

Рейтинг: 1Ответов: 1Опубликовано: 01.02.2015

Работа с временем - ужасная штука.

На локальном компьютере запущен mysql сервер и java приложение. Когда получаю дату из mysql, и вывожу её в java, получается на час меньше. Что делать?

Значение загружается вот в такое поле

@Column(name = "updated_time")
private Timestamp updatedTime;

Выводится для проверка в java

System.out.println(question.getUpdatedTime().getTime());

и в mysql

SELECT unix_timestamp(updated_time) FROM questions

Вот настройки jdbc

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/qa
jdbc.username=root
jdbc.password=****

А вот HibernateConfig (Spring)

@Configuration
public class HibernateConfig {

    private @Value("${jdbc.driverClassName}")
    String jdbcDriver;
    private @Value("${jdbc.url}")
    String jdbcUrl;
    private @Value("${jdbc.username}")
    String jdbcUsername;
    private @Value("${jdbc.password}")
    String jdbcPassword;

    @Bean(name = "dataSource")
    public DataSource getDataSource() {
        BasicDataSource dataSource = new BasicDataSource();
        dataSource.setDriverClassName(jdbcDriver);
        dataSource.setUrl(jdbcUrl);
        dataSource.setUsername(jdbcUsername);
        dataSource.setPassword(jdbcPassword);

        return dataSource;
    }

    public Properties getHibernateProperties() {
        Properties p = new Properties();
        p.put("hibernate.dialect","org.hibernate.dialect.MySQLDialect");
        p.put("hibernate.show_sql","false");
        p.put("hibernate.format_sql", "true");
        return p;
    }

    @Bean(name = "sessionFactory")
    public SessionFactory getSessionFactory() {
        LocalSessionFactoryBuilder sessionBuilder = new LocalSessionFactoryBuilder(getDataSource());
        sessionBuilder.addProperties(getHibernateProperties());
        sessionBuilder.scanPackages("ru.kapahgaiii.qa.domain");
        return sessionBuilder.buildSessionFactory();
    }

    @Bean(name = "transactionManager")
    public HibernateTransactionManager getTransactionManager() {
        return new HibernateTransactionManager(getSessionFactory());
    }

    @Bean
    public static PropertyPlaceholderConfigurer getHibernateConfig(){
        PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
        configurer.setLocation(new ClassPathResource("jdbc.properties"));
        return configurer;
    }
}

Что с этим делать?

Ответы

Ответов пока нет.