哪个罐子我很困惑...... Usertype,hibernate 4,JodaTime

时间:2014-08-07 07:35:11

标签: java hibernate maven jodatime usertype

我发现我需要使用

<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天开始解决这个问题......

1 个答案:

答案 0 :(得分:0)

Joda时间用户类型类不适用于映射。您映射实体,而不是UserTypes。

首先,请查看此介绍article on Hibernate Types

Hibernate定义了以下数据结构:

  1. 实体是数据库行的Object等效项。它有一个映射到相关行的主键的@Id。

  2. Embeddable是一个对象,它映射到除主键之外的一个或多个列。它始终取决于父实体。

  3. Entity和Embeddable都可能包含非主键列映射,而Java-to-SQL类型桥由Hibernate Types处理。

  4. 您可以定义自己的用户类型来表示其他结构,例如货币或货币。

  5. 因此,Jadira类型将Joda DateTime对象类型桥接到DATE,TIME和TIMESTAMP SQL类型。如果您不需要使用Joda,则必须依赖java.util.date,java.util.Calendar或java.sql.Date作为您的Entity属性类型。