【发布时间】:2011-01-25 18:43:46
【问题描述】:
我刚刚开始在 Play Framework 网络应用程序中构建我的 JPA 架构。我对 SQL 有一定的了解,但我是 JPA 新手,遇到第一关就被绊倒了。
在 Play 教程中,我假设您只是创建 Java 类,JPA/Play 会自动为您创建架构。
所以我想在两个模型类Rankable和Tag之间创建ManyToMany关系:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Rankable extends Model {
public String name;
private Set<Tag> tags;
@ManyToMany()
@JoinTable(name = "RANKABLE_TAGS")
public Set<Tag> getTags() {
return tags;
}
@ManyToMany()
@JoinTable(name = "RANKABLE_TAGS")
public void setTags(final Set<Tag> tags) {
this.tags = tags;
}
}
还有其他类:
@Entity
public class Tag extends Model {
public String name;
public String description;
private Set<Rankable> rankables;
@ManyToMany(mappedBy = "tags")
public Set<Rankable> getRankables() {
return rankables;
}
@ManyToMany(mappedBy = "tags")
public void setRankables(final Set<Rankable> r) {
rankables = r;
}
}
但我不断收到以下错误:
发生 JPA 错误(无法构建 EntityManagerFactory): 不能 确定类型:java.util.Set,在 表:可排名,对于列: [org.hibernate.mapping.Column(tags)]
我做错了什么?
【问题讨论】:
-
@kem - Model 是框架的类之一
-
是你的代码中多余的
}还是只是一个发布错误?
标签: java jpa playframework