Java @时态日期与甲骨文问题

Java @时态日期与甲骨文问题,java,oracle,hibernate,jpa,Java,Oracle,Hibernate,Jpa,我们有两个服务器(WebLogic 12.1.2.0.0),每个服务器运行相同的应用程序并连接到自己的数据库。服务器1具有Oracle Database 11g Enterprise Edition 11.2.0.1.0和Java 7,服务器2具有Oracle Database 11g Enterprise Edition 11.2.0.4.0和Java 8 在这两种情况下,应用程序都使用: hibernate核心3.6.9 hibernate-jpa-2.0-api-1.0.1 hibern

我们有两个服务器(WebLogic 12.1.2.0.0),每个服务器运行相同的应用程序并连接到自己的数据库。服务器1具有Oracle Database 11g Enterprise Edition 11.2.0.1.0和Java 7,服务器2具有Oracle Database 11g Enterprise Edition 11.2.0.4.0和Java 8

在这两种情况下,应用程序都使用:

  • hibernate核心3.6.9
  • hibernate-jpa-2.0-api-1.0.1
  • hibernate-commons-annotations-3.2.0
在我们的一个类中,我们有以下注释(Date是
java.util.Date
):

对于服务器1,正确存储日期并从数据库中检索-时间始终等于00:00:00。对于服务器2,日期与时间一起存储


对于我们的应用程序来说,存储时间设置为00:00:00(因此,基本上是删除的)的日期是至关重要的。我们可以为这个问题创建一些解决方法,但仍然无法理解这种行为的原因。您能解释一下吗?

我想知道本专栏的数据库类型是什么?在日期列上加上长度是毫无意义的。请检查所用JDBC驱动程序的版本。最新版本中有些细微差别发生了变化。日期的插入方式可能更相关。还是通过JPA操作?@NeilStockton数据库列是date那么调试在哪里?看看要插入这些数据库的SQL语句。我想知道这个列的数据库类型是什么?在日期列上加上长度是毫无意义的。请检查所用JDBC驱动程序的版本。最新版本中有些细微差别发生了变化。日期的插入方式可能更相关。还是通过JPA操作?@NeilStockton数据库列是date那么调试在哪里?查看要插入这些数据库的SQL语句。
@Temporal(TemporalType.DATE)
@Column(name = "creationDate", nullable = false, length = 7)
public Date getCreationDate() {
    return this.creationDate;
}