Основная проблема с JPA: «Не удалось определить тип для: java.util.Set»

Я только начинаю создавать свою схему 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)]

Что я делаю не так?

7
задан sanity 26 January 2011 в 01:52
поделиться