Tôi đang tìm chân của mình bằng Chú thích Hibernate và tôi đã gặp sự cố mà tôi hy vọng một số người có thể trợ giúp.Sự cố Hibernate - "Sử dụng @OneToMany hoặc @ManyToMany nhắm mục tiêu một lớp chưa được ánh xạ"
Tôi có 2 thực thể, Mục và Phạm viTopic. Phần có một thành viên lớp Danh sách, vì vậy mối quan hệ Một đến Nhiều. Khi tôi chạy thử nghiệm đơn vị của tôi Tôi nhận được ngoại lệ này:
Sử dụng @OneToMany hoặc @ManyToMany nhắm mục tiêu một lớp unmapped: com.xxx.domain.Section.scopeTopic [com.xxx.domain.ScopeTopic]
Tôi giả định rằng lỗi ngụ ý rằng đối tượng ScopeTopic của tôi không được ánh xạ tới một bảng? Tôi không thể nhìn thấy với tôi đã làm sai. Dưới đây là các lớp Entity:
@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;
}
}
Tôi chắc chắn rằng nó thiếu riêng của tôi về sự hiểu biết đó là có lỗi vì vậy một số hướng dẫn sẽ là tuyệt vời, cảm ơn!
Ah, cảm ơn! Điểm 2 là chìa khóa, tôi đã quên đặt ScopeTopic vào danh sách thuộc tính annotatedClasses của mình khi tạo lỗi SessionFactory, n00b! – C0deAttack
Điểm 1 là chìa khóa cho tôi: D cảm ơn –
Đối với những người chỉ cần nhấn nhận xét này. org.hibernate.annotations.Entity không được chấp nhận trong Hibernate 4. Điểm 1 không áp dụng nữa. – gspatel