java - MYSQL 8 JPA 2.0 mysql 在 JPA 保存后向当前日期添加 1 秒

标签 java mysql jpa jboss jboss6.x

我将mysql版本从5.5.40迁移到8.0.18。迁移后,我更改了驱动程序类的 By JBoss 6 数据源配置。

        <driver-class>com.mysql.cj.jdbc.Driver</driver-class>

我已将 mysql-connector-java-8.0.18 放入 lib 文件夹。然后我的应用程序毫无问题地部署到 Jboss 6。当我开始测试应用程序时,我发现了一些东西。关于模拟作业实体,我设置了 startDateTime 列 一个约会。模拟作业保存到数据库后,startDateTime 与我设置的不同。但只有一秒差异。例如,如果我将日期设置为 2019-11-08 15:20:12,数据库将其存储为 2019-11-08 15:20:13。我不确定这与时区有关。但无论如何我使用以下语句更改了 mysql 的时区。

设置全局时区 = '+3:00';

 @Entity
@Table(name = "SIMULATION_JOB")
public class SimulationJob implements Serializable {
/**
 *
 */
       private static final long serialVersionUID = -1768265008703114922L;

public SimulationJob() {
    super();
}

@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "SimulationJobIdGen")
@Column(name = "ID")
private long id;
@Column(name = "NAME")
@NotNull
@Size(max = 50)
private String name;
@Column(name = "PRIORITY")
private int priority;
@ManyToOne
@JoinColumn(name = "OWNER_USER_ID")
private User ownerUser;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "CREATE_DATETIME")
private Date createDateTime;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "START_DATETIME")
private Date startDateTime;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "END_DATETIME")
private Date endDateTime;

}

最佳答案

我猜这可能与时间戳的四舍五入有关。在 MySQL 5.6.4 之前,小数秒(即毫秒)的处理是不同的。

另请参阅:

https://dev.mysql.com/doc/refman/8.0/en/fractional-seconds.html

https://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html

关于java - MYSQL 8 JPA 2.0 mysql 在 JPA 保存后向当前日期添加 1 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58766714/

相关文章:

php - 我如何链接回通知

java - com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException : Cannot add or update a child row: a foreign key constraint fails

java - Android将大输入流复制到文件非常慢

php - 自定义变量可以像 super 全局变量一样在每个页面上使用吗?

java - 代码不可达、编译错误恶性循环

java - "unable to connect to database"

java - Spring JPA Query 返回 Null 而不是 List

orm - 帮助在 JPA 2.0 中映射复合外键

java - java中的同步多线程

java - 如何使 Maven 插件仅包含必要的依赖项?