我正在使用“休眠注释”找到自己的脚,并且遇到了一个问题,希望有人可以提供帮助。
我有2个实体,分别是Section和ScopeTopic。该部分具有List类成员,因此具有一对多关系。运行单元测试时,出现此异常:
我会假设该错误暗示我的ScopeTopic实体未映射到表?我看不到我做错了。这是实体类:
@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;
}
}
我敢肯定,这是我自己的理解不足造成的,所以一些指导会很棒,谢谢!
最佳答案
您的注释看起来不错。这里是要检查的东西:
javax.persistence.Entity
,而不是org.hibernate.annotations.Entity
。前者使实体可检测。后者只是一个补充。 ScopeTopic
实体ScopeTopic
类,并且您导入了错误的类。