如何在Oracle中使用JPA存储日期和时间?

2022-09-02 05:31:19

我使用的是WebSphere 7(Java EE 5)和OpenJPA 1.2.1。

我有一个带有“”属性的JPA对象,如下所示:modifiedTimestamp

@Entity
public class Widget {
  /* ... */
  private java.sql.Date modifiedTimestamp;
  /* ... */
}

Oracle 数据库中的相关字段的类型为 。DATE

我这样设定日期...

myWidget.setModifiedTimestamp(new java.sql.Data(System.currentTimeMillis());

...它被存储了,但是当我读回它时,一天中的时间还没有存储,它允许回到24:00。

这是JPA的事情,还是甲骨文的事情?任何建议都非常感谢!

谢谢


答案 1

注释字段和更改类型应该会有所帮助:

@Temporal(TemporalType.TIMESTAMP)
private java.util.Date modifiedTimestamp;

答案 2

Use (Javadocs).与java.util.Date相结合。@Temporal(TemporalType.TIMESTAMP)

@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DATE_FIELD")
private java.util.Date modifiedTimestamp;