【发布时间】:2012-06-04 21:35:04
【问题描述】:
我正在使用 WebSphere 7 (Java EE 5) 和 OpenJPA 1.2.1。
我有一个带有“modifiedTimestamp”属性的 JPA 对象,如下所示:
@Entity
public class Widget {
/* ... */
private java.sql.Date modifiedTimestamp;
/* ... */
}
Oracle 数据库中相关字段的类型为DATE。
我是这样设置日期的......
myWidget.setModifiedTimestamp(new java.sql.Data(System.currentTimeMillis());
...它被存储了,但是当我读回它时,一天中的时间还没有被存储,它允许返回为 24:00。
这是 JPA 的事情,还是 Oracle 的事情?任何建议都非常感谢!
谢谢
【问题讨论】:
-
好问题——我正在使用 WebSphere 7 (Java EE 5) 和 OpenJPA 1.2.1。
-
java.sql.Date 根据其 javadocs 仅存储日期。也许你想要 java.util.Date?
-
查看stackoverflow.com/questions/2188768/… 了解休眠,我想你可以试试
-
当我将代码更改为
private java.util.Date modifiedTimestamp时,自动映射似乎中断了,我收到此错误java.lang.NoSuchMethodError: com/myapp/domain/Widget.getModifiedTimestamp()Ljava/sql/Data -
你必须重新编译 Widget.java ;有疑问时清理它。