我使用的是WebSphere 7(JavaEE5)和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的事情?任何建议都是非常感谢的!
谢谢
发布于 2012-05-31 00:02:20
注释您的字段并更改类型会有所帮助:
@Temporal(TemporalType.TIMESTAMP)
private java.util.Date modifiedTimestamp;
发布于 2012-05-31 00:03:19
使用@Temporal(TemporalType.TIMESTAMP)
(Javadocs)。组合with java.util.Date。
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DATE_FIELD")
private java.util.Date modifiedTimestamp;
发布于 2021-07-26 20:53:31
我发现这个问题在一段时间前就已经被问到了,所以我建议你读一读this的文章。在引入java 8日期类型之后,有一些变化。我知道这不是这个问题的答案,我遇到的问题也不一样,但我之所以发布这篇文章,是因为我在答案中看到的@Temporal()
注释正在破坏我的CI管道:
这是可行的:
@NotNull
@Column(nullable = false, columnDefinition = "TIME") // this bit is different
@JsonFormat(pattern="HH:mm")
private LocalTime startTime;
这不是:
@NotNull
@Column(nullable = false)
@Temporal(TemporalType.TIME)
@JsonFormat(pattern="HH:mm")
private LocalTime startTime;
https://stackoverflow.com/questions/10819862
复制相似问题