3

我想用 Play Framework 2.0 试用 Joda Time。所以我有这个类叫做Release

@Entity
public class CommunicationLog extends Model {

private static final long serialVersionUID = 7846963755390952329L;

@Id
public int pk;

public Task taskRef;

public String comment;

@Type(type = "org.joda.time.contrib.hibernate.PersistentDateTime")
public DateTime createdDate;

public Person personRef;

}

在这篇文章(Persist Joda-time's DateTime via Hibernate)中,我读过使用joda-time-hibernate。所以我使用 SBT 将它添加到我的依赖项中,它会下载 jar 文件并将其添加到我的类路径中:

"joda-time" % "joda-time-hibernate" % "1.3"

但问题仍然是无法解决@Type 。我还需要将 org.hibernate.annotations 和 hibernate 核心添加到我的类路径中吗?为什么这不是 JPA 2.0 的一部分?还是我错过了项目中的其他内容?

编辑 2012-05-07:已解决

当我添加以下依赖项时它可以工作:

"org.hibernate" % "hibernate-core" % "3.5.6-Final",
"org.hibernate" % "hibernate-annotations" % "3.5.6-Final",
"joda-time" % "joda-time-hibernate" % "1.3"
4

1 回答 1

4

是的,您必须将org.hibernate.annotations添加到您的类路径中。
@Type是 Hibernate 逻辑(自定义 UserType)的一部分,它不是 JPA 的逻辑。
因此,您必须将 JPA 注释与 Hibernate 注释混合使用

于 2012-04-07T20:34:11.997 回答