Me encuentro con Hibernate Annotations y me he topado con un problema con el que espero que alguien pueda ayudar.Problema de Hibernate - "Uso de @OneMany o @ManyToMany dirigidos a una clase no asignada"
Tengo 2 entidades, Sección y ScopeTopic. La sección tiene un miembro de la clase Lista, por lo que una relación Uno a Muchos. Cuando ejecuto mi unidad de prueba que estoy recibiendo esta excepción:
El uso de @OneToMany o @ManyToMany una clase de orientación no asignada: com.xxx.domain.Section.scopeTopic [com.xxx.domain.ScopeTopic]
Supongo que el error implica que mi entidad ScopeTopic no está asignada a una tabla? No puedo ver con He hecho mal. Aquí están las clases de entidad:
@Entity
public class Section {
private Long id;
private List<ScopeTopic> scopeTopics;
public Section() {}
@Id
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@OneToMany
@JoinTable(name = "section_scope", joinColumns = {@JoinColumn(name="section_id")},
inverseJoinColumns = {@JoinColumn(name="scope_topic_id")})
public List<ScopeTopic> getScopeTopic() {
return scopeTopic;
}
public void setScopeTopic(List<ScopeTopic> scopeTopic) {
this.scopeTopic = scopeTopic;
}
}
@Entity
@Table(name = "scope_topic")
public class ScopeTopic {
private Long id;
private String topic;
public ScopeTopic() {}
@Id
public Long getId() {
return id;
}
public void setId() {
this.id = id;
}
public String getTopic() {
return topic;
}
public void setTopic(String topic) {
this.topic = topic;
}
}
Estoy bastante seguro de que es mi propia falta de comprensión que tiene la culpa de manera alguna orientación Sería muy bueno, gracias!
Ah, gracias! El punto 2 era la clave, había olvidado poner ScopeTopic en mi lista de propiedades anotadasClasses al crear el error SessionFactory, n00b! – C0deAttack
El punto 1 fue la clave para mí: D gracias –
Para los que acaban de pegar este comentario. org.hibernate.annotations.Entity está en desuso en Hibernate 4. El punto 1 ya no se aplica. – gspatel