Я только начинаю создавать свою схему JPA в веб-приложении Play Framework. Я неплохо разбираюсь в SQL, но я новичок в JPA, и я спотыкаюсь при первом препятствии.
Из учебников Google Play I 'м предполагая, что вы просто создаете свои классы Java, а JPA / Play автоматически создаст схему для вас.
Итак, я хочу создать отношение ManyToMany между двумя классами модели, Rankable и Tag:
@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, в table: Rankable, для столбцов: [org.hibernate.mapping.Column (tags)]
Что я делаю не так?