首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Oracle中使用JPA存储日期和时间?

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

Stack Overflow用户
提问于 2012-05-30 23:53:55
回答 5查看 48.8K关注 0票数 20

我使用的是WebSphere 7(JavaEE5)和OpenJPA 1.2.1。

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

代码语言:javascript
复制
@Entity
public class Widget {
  /* ... */
  private java.sql.Date modifiedTimestamp;
  /* ... */
}

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

我是这样设定日期的。

代码语言:javascript
复制
myWidget.setModifiedTimestamp(new java.sql.Data(System.currentTimeMillis());

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

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

谢谢

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-31 00:02:20

注释您的字段并更改类型会有所帮助:

代码语言:javascript
复制
@Temporal(TemporalType.TIMESTAMP)
private java.util.Date modifiedTimestamp;
票数 36
EN

Stack Overflow用户

发布于 2012-05-31 00:03:19

使用@Temporal(TemporalType.TIMESTAMP) (Javadocs)。组合with java.util.Date

代码语言:javascript
复制
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DATE_FIELD")
private java.util.Date modifiedTimestamp;
票数 13
EN

Stack Overflow用户

发布于 2021-07-26 20:53:31

我发现这个问题在一段时间前就已经被问到了,所以我建议你读一读this的文章。在引入java 8日期类型之后,有一些变化。我知道这不是这个问题的答案,我遇到的问题也不一样,但我之所以发布这篇文章,是因为我在答案中看到的@Temporal()注释正在破坏我的CI管道:

这是可行的:

代码语言:javascript
复制
@NotNull
@Column(nullable = false, columnDefinition = "TIME") // this bit is different
@JsonFormat(pattern="HH:mm")
private LocalTime startTime;

这不是:

代码语言:javascript
复制
@NotNull
@Column(nullable = false)
@Temporal(TemporalType.TIME)
@JsonFormat(pattern="HH:mm")
private LocalTime startTime;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10819862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档