当使用 Hibernate 的4.3.5.Final
版本时(帖子创建时的最后一个版本),我遇到了同样的问题。如前所述,您必须使用Jadira Framework
Java代码:
private DateTime creationDate;
@Column(name = "CREATION_DATE")
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
public DateTime getCreationDate() {
return creationDate;
}
我的pom.xml
休眠相关部分:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>4.0.4.Final</version>
</dependency>
我的pom.xml
JodaTime 相关部分:
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.jadira.usertype</groupId>
<artifactId>usertype.jodatime</artifactId>
<version>2.0.1</version>
</dependency>
创建所需表的 SQL 脚本(注意TIMESTAMP类型):
CREATE TABLE dropbox.MAPPING (ID INT NOT NULL AUTO_INCREMENT, DROPBOX_URL VARCHAR(300) NOT NULL, SHORTENED_URL VARCHAR(30) NOT NULL, CREATION_DATE TIMESTAMP NOT NULL, UNIQUE UQ_MAPPING (ID), PRIMARY KEY (ID));