我们正在使用- Java 8 Web服务器-Tomcat 8.5, 数据库服务器-MySQL 5.7, 休眠-5, 基于Tomcat jdbc池的数据源。
我们将MySQL连接器J从5.1.46版本升级到8.0.16。现在,我们的Web服务器时区为UTC,而mysql服务器现在处于IST时区,直到仅在UTC中保留升级驱动程序时间戳列值(使用hibenate)之前,但移至J8驱动程序后,它将保存到IST的MySQL服务器时区。
我们只希望在UTC中存储/获取时间戳记值。
答案 0 :(得分:0)
默认情况下,连接时区是MySQL数据库服务器的时区。连接到MySQL数据库服务器时,可以使用其他时区。为此,您必须将会话的时区设置为这样的其他时区:
SET time_zone ='+03:00';
我认为,这应该可行。
在创建表时,您还可以编写如下查询:
CREATE TABLE categories (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
我希望这会起作用。有关MySql时间戳的更多详细信息,请查看以下文章: