Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle会覆盖我的日期吗?_Oracle_Date_Jpa_Insert - Fatal编程技术网

Oracle会覆盖我的日期吗?

Oracle会覆盖我的日期吗?,oracle,date,jpa,insert,Oracle,Date,Jpa,Insert,我对甲骨文日期有问题。似乎Java应用程序中的预定义日期在插入OracleDB之后是不同的 通过JPA实体插入: entity.setDateOfCreation(new Date(System.currentTimeInMillis())); // 1350565985000 提交和检索后: entity.getDateOfCreation() // 1350565985047 这有什么不同 我假设Oracle只会将具有这些精确毫秒的特定日期对象插入数据库。但显然不是。由于最小的延迟,它

我对甲骨文日期有问题。似乎Java应用程序中的预定义日期在插入OracleDB之后是不同的

通过JPA实体插入:

entity.setDateOfCreation(new Date(System.currentTimeInMillis())); 
// 1350565985000
提交和检索后:

entity.getDateOfCreation() // 1350565985047
这有什么不同


我假设Oracle只会将具有这些精确毫秒的特定日期对象插入数据库。但显然不是。由于最小的延迟,它似乎用自己的日期(毫秒)来“覆盖”给定的日期(尽管我没有使用@GeneratedValue)。

您使用的表是否有填充该列的触发器?我希望是这样。在过去的一段时间里,我遇到了很多问题,比如应用服务器和数据库之间的时间差。最好有一个单一的时间,以确保整个州的时间一致。

你认为时间在哪里结束85000?数据库列的类型是
DATE
还是
TIMESTAMP
?列类型是@Temporal(TemporalType.TIMESTAMP)。Oracle数据库中实际列的数据类型是什么?Oracle
DATE
不存储毫秒——Oracle
DATE
的精度仅为秒。你有没有可能把问题中的评论颠倒过来?如果
getDateOfCreation
返回的值的毫秒数都是0,而
setDateOfCreation
传递的值是毫秒数,那么如果Oracle列的数据类型是
DATE
,这是可以解释的。请发布表定义。谢谢。@Justin:谢谢,你说得对,我两次都是在毫秒内搞错的。末尾有000的是我从数据库中读取的日期。我可以插入不带毫秒的日期吗?您好,谢谢您的参与。不,我看不到此表的任何触发器。它应该是“干净的”。