Estoy empezando a construir mi esquema JPA en una aplicación web de Play Framework. Tengo una comprensión razonable de SQL, pero soy un novato de JPA, y me estoy tropezando en el primer obstáculo.Problema básico de JPA: "No se pudo determinar el tipo para: java.util.Set"
De los tutoriales de Juego supongo que solo crea sus clases de Java y JPA/Play creará automáticamente el esquema para usted.
Así que quieren crear una relación ManyToMany entre dos clases del modelo, clasificable y Etiqueta:
@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;
}
}
y la otra clase:
@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;
}
}
Pero sigo recibiendo el siguiente error:
A JPA error occurred (Unable to build EntityManagerFactory): Could not determine type for: java.util.Set, at table: Rankable, for columns: [org.hibernate.mapping.Column(tags)]
¿Qué estoy haciendo mal?
lo que se ve como modelo? – kem
@kem - [Modelo] (http://www.playframework.org/documentation/api/1.1.1/play/db/jpa/Model.html) es una de las clases de framework –
¿Es el '}' extra en su código o simplemente un error de publicación? –