我发现我需要使用
<mapping class="org.jadira.usertype.dateandtime.joda.PersistentLocalDate" />
<mapping class="org.jadira.usertype.dateandtime.joda.PersistentLocalDateTime" />
用于在数据库中持久化的类。我真的很困惑,我想要坚持下载这两个类的罐子。
我应该使用joda时间类和usertype类来持久化,它们之间的关系是什么。我正在使用hibernate 4。
我也看到3.2.0GA and 3.2.0CR11
这是什么意思。在许多软件包的maven资源库中,它编写了hibernate支持!但是哪个版本?我现在试着从3天开始解决这个问题......
答案 0 :(得分:0)
Joda时间用户类型类不适用于映射。您映射实体,而不是UserTypes。
首先,请查看此介绍article on Hibernate Types。
Hibernate定义了以下数据结构:
实体是数据库行的Object等效项。它有一个映射到相关行的主键的@Id。
Embeddable是一个对象,它映射到除主键之外的一个或多个列。它始终取决于父实体。
Entity和Embeddable都可能包含非主键列映射,而Java-to-SQL类型桥由Hibernate Types处理。
您可以定义自己的用户类型来表示其他结构,例如货币或货币。
因此,Jadira类型将Joda DateTime对象类型桥接到DATE,TIME和TIMESTAMP SQL类型。如果您不需要使用Joda,则必须依赖java.util.date,java.util.Calendar或java.sql.Date作为您的Entity属性类型。