Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
Mysql 如何使用hibernate将sql时间类型映射为java类型?_Mysql_Spring_Hibernate - Fatal编程技术网

Mysql 如何使用hibernate将sql时间类型映射为java类型?

Mysql 如何使用hibernate将sql时间类型映射为java类型?,mysql,spring,hibernate,Mysql,Spring,Hibernate,我有一个sql数据类型的时间。现在,12:00 AM的数据存储为00:00:00 在映射到表的POJO中,我根据hibernate规范将数据类型指定为java.util.Date。但是,在加载数据类型为00:00:00的行时,会出现此异常 Cannot convert value '00:00:00' from column 18 to TIMESTAMP 如何解决这个问题?对于SQLServer,您可以使用类似的方法。我想它也应该适用于时间类型(我不知道它是否适用于其他DB类型) @Jara

我有一个sql数据类型的时间。现在,12:00 AM的数据存储为00:00:00

在映射到表的POJO中,我根据hibernate规范将数据类型指定为java.util.Date。但是,在加载数据类型为00:00:00的行时,会出现此异常

Cannot convert value '00:00:00' from column 18 to TIMESTAMP

如何解决这个问题?

对于SQLServer,您可以使用类似的方法。我想它也应该适用于时间类型(我不知道它是否适用于其他DB类型)


@Jarandinor-我没有将数据作为日期存储在数据库中。我将它存储为一个时间数据类型。我只在数据库中存储一个时间,而不是一个日期。因此,我只想使用时间类型。请参见上面的语句:“我猜它也应该适用于时间类型。”因此,只需将columnDefinition更改为“TIME”。只需将此作为一个起点,并在它点击之前稍作调整。您知道如何在xml中实现这一点吗?无法做到这一点。Sry目前还不需要进入XML映射。你得等一个更有能力的人过来。嘿,卡斯滕,是的,我有过,但没什么不同。最后,我能够使用
java.sql.Time
而不是
java.util.Date
(当使用
java.sql.Time
时,您需要删除
@Temporal(TemporalType.Time)
注释,因为它不再需要)。我认为这个解决方案并不简洁,因为它意味着必须在业务逻辑代码中使用java.sql对象,而这些对象可能与任何类型的数据库工作都没有任何直接关联。
private Date lockedUntil;
@Column(name="DATE", columnDefinition="DATETIME")
@Temporal(TemporalType.TIMESTAMP)
public Date getDate() {
    return date;
}