2012-10-24 41 views
1

嗨Hibernate的4持久性支持所有我新的春天和現在用的是以下相關什麼工作都是圍繞爲org.joda.time.contrib.hibernate.PersistentDateTime

<dependency> 
      <groupId>joda-time</groupId> 
      <artifactId>joda-time</artifactId> 
      <version>2.1</version> 
     </dependency> 
     <dependency> 
      <groupId>joda-time</groupId> 
      <artifactId>joda-time-hibernate</artifactId> 
      <version>1.3</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>4.1.7.Final</version> 
     </dependency> 
       <spring.framework.version>3.1.2.RELEASE</spring.framework.version> 

我不是建築應用能夠使用來自org.joda.time.contrib.hibernate.PersistentDateTime類的數據類型DateTime的字段持久保存對象。

@Column(name = "LAST_MODIFIED_DATE") 
    @Type(type = "org.joda.time.contrib.hibernate.PersistentDateTime") 
    public DateTime getLastModifiedDate() { 
     return lastModifiedDate; 
    } 

任何人都可以建議如何使用joda DateTime。

+1

如果你得到一些錯誤堆棧跟蹤,這將有助於你在這裏發佈它。 – Vikdor

+0

我得到了決議。 org.joda.time.contrib.hibernate.PersistentDateTime可能不支持休眠4. 當類型更改爲@Type(type =「org.jadira.usertype.dateandtime.joda.PersistentDateTime」)它工作正常。我還必須添加以下庫。 \t \t \t org.jadira.usertype \t \t \t usertype.core \t \t \t 3.0.0.CR3 \t \t

+0

這對於在數據庫持續更新的方法。 @Column(名稱= 「CREATED_DATE」) \t @Type(類型= 「org.jadira.usertype.dateandtime.joda.PersistentDateTime」) \t公共的DateTime getCreatedDate(){ \t \t返回createdDate; \t} –

回答

1

我一直在嘗試這一整天終於得到了解決方案如下。高級版本的hibernate不支持org.joda.time.contrib.hibernate.PersistentDateTime類持久性。相反,我們利用像

<dependency> 
    <groupId> org.jadira.usertype </groupId> 
    <artifactId> usertype.core </artifactId> 
    <version> 3.0.0.CR3 </version> 
</dependency> 

一些非常特殊的庫,這是我們如何能夠在數據庫審計目的,堅持數據。

@Column(name = "CREATED_DATE") 
    @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime") 
    public DateTime getCreatedDate() { 
     return createdDate; 
    }