Java @是否将日期转换为UTC?

Java @是否将日期转换为UTC?,java,mysql,hibernate,jpa,wildfly,Java,Mysql,Hibernate,Jpa,Wildfly,我使用WildFly(jboss-javaee-7.0-with-hibernate)、JPA(hibernate-JPA-2.1-api)、hibernate jpamodelgen和MySql作为数据库。是否有人可以指导我如何使用@PrePersist或@PreUpdate或其他方式以UTC格式存储日期 示例模型类: @Entity @Audited @XmlRootElement @Table(uniqueConstraints = @UniqueConstraint(columnName

我使用WildFly(jboss-javaee-7.0-with-hibernate)、JPA(hibernate-JPA-2.1-api)、hibernate jpamodelgen和MySql作为数据库。是否有人可以指导我如何使用@PrePersist或@PreUpdate或其他方式以UTC格式存储日期

示例模型类:

@Entity
@Audited
@XmlRootElement
@Table(uniqueConstraints = @UniqueConstraint(columnNames = "name"))
@JsonIgnoreProperties(value = { "handler", "hibernateLazyInitializer" })
public class SampleTest {

    private static final long serialVersionUID = 1L;

    private String name;

    private String comment;

    private Date createdDate;

    private Date lastModifiedDate;

    @PrePersist
    protected void onCreate() {
        createdDate = new Date();
    }

    @PreUpdate
    protected void onUpdate() {
        lastModifiedDate = new Date();
    }

这不会在数据库中存储UTC时区中创建的日期和上次修改的日期。有人能指导我吗?< /P>你应该考虑在POJO中使用<代码> java .sql。时间戳< /> >,并将其转换成适当的<代码> java。Time< /Cord>类。如果你能使用它,也支持java 8日期时间API。你试过使用<代码> java?SQL。日期<代码>吗?“一个围绕毫秒值的薄包装,允许JDBC将其标识为SQL日期值。毫秒值表示从1970年1月1日00∶0 GMT以来已经过的毫秒数。”您应该考虑在POJO中使用<代码> java。SQL。时间戳< /代码>。并将其转换为相应的
java.time
类。Hibernate 5(如果可以使用)也支持Java8日期时间API。您是否尝试过使用
java.sql.Date
?围绕毫秒值的精简包装,允许JDBC将其标识为SQL日期值。毫秒值表示自1970年1月1日00:00:00.000 GMT以来经过的毫秒数