ฉันพบว่าเท้าของฉันมีคำอธิบายประกอบไฮเบอร์เนตและฉันประสบปัญหาฉันหวังว่าจะมีคนช่วยได้
ฉันมี 2 เอนทิตีมาตราและขอบเขต ส่วนนี้มีสมาชิกคลาส List ดังนั้นความสัมพันธ์แบบหนึ่งต่อกลุ่ม เมื่อฉันเรียกใช้การทดสอบหน่วยฉันได้รับข้อยกเว้นนี้:
การใช้ @OneToMany หรือ @ManyToMany กำหนดเป้าหมายคลาสที่ไม่ได้แมป: com.xxx.domain.Section.scopeTopic [com.xxx.domain.ScopeTopic]
ฉันจะถือว่าข้อผิดพลาดหมายความว่าเอนทิตี 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;
}
}
ฉันค่อนข้างมั่นใจว่าตัวเองขาดความเข้าใจซึ่งเป็นความผิดดังนั้นคำแนะนำบางอย่างจะดีมากขอบคุณ!