原諒我,因爲我是菜鳥進入休眠狀態,其他類似問題的答案沒有完全解決這個問題(我相信我的問題很基本)。我正在嘗試在持久性類中使用OneToMany和ManyToOne映射。 我有以下表格:使用@OneToMany或@ManyToMany針對未映射的類在休眠中發生異常
city (
id INT AUTO_INCREMENT,
name VARCHAR(255),
)
pincode (
id INT AUTO_INCREMENT,
pincode VARCHAR(6),
city_id INT FOREIGN KEY fk_city_id ON city(id)
)
area (
id INT AUTO_INCREMENT,
name VARCHAR(255),
pincode_id INT FOREIGN KEY fk_pincode_id ON pincode(id)
)
下持續I類寫道: 城市:
@Table(name="city")
@Entity
City {
@Id
private Integer id;
@Column(name="name")
private String name;
}
對於PIN碼:
@Table(name="pincode")
@Entity
PinCode {
@Id
private Integer id;
@Column(name = "pincode")
private String pinCode;
@ManyToOne
@JoinColumn(name = "city_id")
private City city; //Multiple pincodes may be mapped to one city
//One pincode may have multiple areas
@OneToMany(fetch = FetchType.EAGER, mappedBy = "pincode_mapping")
@Fetch(value = FetchMode.SELECT)
private List<Area> area;
}
適用面積:
@Entity
Area {
@Id
private Integer id;
@Column(name = "name")
private String name;
@ManyToOne(fetch = FetchType.EAGER, targetEntity = PinCode.class)
@Column(name = "pincode_id")
private PinCode pinCode; //Multiple areas may be mapped to one pincode
}
面對以下異常:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with
name 'sessionFactory' defined in class path resource [applicationContext-resources.xml]: Invocation of init method failed;
nested exception is org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: com.mycompany.model.PinCode.area[com.mycompany.model.Area]
謝謝。這解決了這個問題。 –