jpa-2.0 - Play Framework 中的 JPA 2.0 和 @Type 注解

标签 jpa-2.0 jodatime playframework-2.0

我想用 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 core 添加到我的类路径中吗?为什么这不是 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"

最佳答案

是的,您必须将 org.hibernate.annotations 添加到您的类路径中。
@Type是Hibernate逻辑的一部分(Custom UserType),不是JPA的逻辑。
所以你必须混合使用 JPA 注释和 Hibernate 注释

关于jpa-2.0 - Play Framework 中的 JPA 2.0 和 @Type 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10057919/

相关文章:

java - Spring MVC/@InitBinder 没有效果

对必填字段进行 Javascript/Jquery 验证

java - 如何防止 JodaTime 期间的负面结果

java - 从负 Joda 时间段中删除 '-'

java - 德语元音变音符号在 play 框架 (i18n) 中显示不正确

java - 在 Play Framework URL 中传递 MongoDB ObjectId

java - 在 CriteriaQuery 中使用 @ElementCollection(或查询 @ElementCollection 的内容)

Java-Openjpa : how to specify sequence generator starting from hibernate hbm

java - 使用 Criteria API 的动态 JPA 2.0 查询

java - 在 JPA 中刷新实体