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

Rob*_*ume 19 java oracle jpa date

我正在使用WebSphere 7(Java EE 5)和OpenJPA 1.2.1.

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

@Entity
public class Widget {
  /* ... */
  private java.sql.Date modifiedTimestamp;
  /* ... */
}
Run Code Online (Sandbox Code Playgroud)

Oracle数据库中的相关字段属于类型DATE.

我这样设定日期......

myWidget.setModifiedTimestamp(new java.sql.Data(System.currentTimeMillis());
Run Code Online (Sandbox Code Playgroud)

...并且它被存储,但是当我读回它时,时间没有存储,它允许返回到24:00.

这是JPA的东西还是Oracle的东西?任何建议都非常感谢!

谢谢

Eel*_*lke 36

调整字段并更改类型应该有助于:

@Temporal(TemporalType.TIMESTAMP)
private java.util.Date modifiedTimestamp;
Run Code Online (Sandbox Code Playgroud)


Ant*_*oly 13

使用@Temporal(TemporalType.TIMESTAMP)(Javadocs).结合java.util.Date.

@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DATE_FIELD")
private java.util.Date modifiedTimestamp;
Run Code Online (Sandbox Code Playgroud)