java和hibernate中的时间

java和hibernate中的时间,java,hibernate,Java,Hibernate,我对冬眠很陌生。我的数据库(mySQL)中有一个表,其中有“startTime”列。它的类型是时间。 我下载了org.joda.time包并使用了Period类型,但这不起作用并引发异常:10954[main]ERROR org.hibernate.property.BasicPropertyAccessor-预期类型:org.joda.time.Period,实际值:java.sql.time 哪种类型应该是我的java代码中的成员 您应该始终在数据库中以UTC格式存储日期和时间java.ut

我对冬眠很陌生。我的数据库(mySQL)中有一个表,其中有“startTime”列。它的类型是时间。
我下载了org.joda.time包并使用了Period类型,但这不起作用并引发异常:10954
[main]ERROR org.hibernate.property.BasicPropertyAccessor-预期类型:org.joda.time.Period,实际值:java.sql.time


哪种类型应该是我的java代码中的成员

您应该始终在数据库中以UTC格式存储日期和时间java.util.Date是您应该使用的,因为它表示UTC中的日期和时间,hibernate支持它

相关职位


如果您只想使用joda time,那么已经编写了转换器。您应该使用库。

您必须编写一个从java.sql.time到jodatime的转换器,并在映射中使用它。这是因为在数据库中,它总是将值存储为java.sql.Time

Hibernate本机管理
java.util.Date
(以及
java.sql.Date
等子类)


为了在对象模型中使用Joda Time对象,您可以使用Hibernate版本3.6之前提供的Joda,以及Hibernate 4的项目。

我使用了Joda包中的LocalDateTime,并使用“org.Joda.Time.contrib.Hibernate.PersistentLocalDateTime”作为Hibernate中的自定义类型,它可以正常工作。
我不确定,这是否是您正在使用的。

他想将joda time与hibernate结合使用,这样您的建议将彻底失败purpose@MozenRath没有真正的必要使用Jodahere@MozenRath:我真的不想使用joda time,因为我只是更喜欢使用最适合的时间类型。我更喜欢使用joda time,java日期/日历是一个abomination@NimChimpsky它是用于数据管理的,但在这个简单的情况下是不需要的。你有任何例子说明如何做到这一点吗?我最近不得不用joda time和hibernate 4来做到这一点,下面是如何做到的