JDO在Date中不存储时间信息,只存储日期
我使用 Google App Engine 和 Java、JDO 来实现持久性。 我有我的 Activity
对象,其 timestamp
声明为持久且类型为 java.util.Date
。
public class Activity ...
{ ...
@Persistent
private Date timestamp;
...
}
存储在数据库中的所有活动都具有正确的 dTate,但时间信息始终为零。例如,9 月 9 日星期四 00:00:00。
在其他一些 SO 帖子中(尽管与 google-app-engine 无关),我读到在某些情况下我们应该使用 java.sql.Timestamp 而不是 Date,但 GAE 仅支持 java.util.Date。
一种解决方案始终是使用“long”来存储时间信息,但是有没有更好/首选的方法来做到这一点?
I am using Google App Engine with Java, JDO for persistence.
I have my Activity
object with timestamp
declared as Persistent and of type java.util.Date
.
public class Activity ...
{ ...
@Persistent
private Date timestamp;
...
}
All Activities stored in the database are seen with correct dTate but time information is always zero. e.g Thu Sep 09 00:00:00.
In some other SO post (not related to google-app-engine though), I read we should use java.sql.Timestamp instead of Date in some cases, but GAE only supports java.util.Date.
One solution is always there to use 'long' to store the time information, but is there any better/preferred way to do this ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
到目前为止我无法得到任何解决方案。正如问题中提到的,我将“日期”替换为“长”(以毫秒为单位表示时间)。
So far I could not get any solution. I replaced the 'Date' with 'long' (indicating time in milliseconds) as mentioned in the question.