1

大家好,我是 Spring 新手,正在使用以下依赖项构建应用程序

 <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。

4

1 回答 1

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;
    }
于 2012-10-25T08:51:13.007 回答