具有hibernate支持的pojo中的joda.time.DateTime

时间:2011-02-21 11:26:38

标签: java hibernate jodatime

hibernate - 3.6.0.Final 乔达 - 1.4 如何在pojo中为hibernate支持直接joda.DateTime

所以可以session.saveOrUpdate(rateCodeId);

POJO

public class RateCodeId implements java.io.Serializable {

    private int roomId;
    private org.joda.Time.DateTime date;
}

的hbm.xml

 <key-property name="date" type="org.joda.time.contrib.hibernate.PersistentDateTime">
        <column length="10" name="date" />
 </key-property>

错误:

  

org.hibernate.MappingException:可以   不确定类型:   org.joda.time.contrib.hibernate.PersistentDateTime

没有“type =” ERROR

  

java.lang.ClassCastException:   org.joda.time.DateTime无法强制转换   到java.util.Date

1 个答案:

答案 0 :(得分:16)

也许你在类路径中没有Joda-Time Hibernatetype="org.joda.time.contrib.hibernate.PersistentDateTime"需要它。

<强>更新

看来Joda-time Hibernate支持当前不适用于Hibernate 3.6,请参阅PersistentDateTime doesn't work in hibernate 3.6 - ID: 3090209Recompile Joda-Time Hibernate to make it work with Hibernate 3.6

您可以使用User Type project代替(类型属性变为type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")。