0
上午下面的例子中創建兩個實體之間Book and BookReview
。在這本書有人這樣做了OneToMany
關係:映射實體
@Entity(name="Book")
public class Book {
....
@OneToMany(cascade=CascadeType.ALL)
private List<BookReview> bookReviews;
}
,然後回上,參考書類是這樣的:
@Entity(name="BookReview")
public class BookReview {
...
@ManyToOne(mappedBy="bookReviews")
private Book book;
}
但是當我嘗試這個
@Entity
public class Store {
@Id
String storeName;
@OneToMany
private List<Employee> employees;
}
////////////
@Entity
public class Employee {
@Id
int employeeId;
@ManyToOne(mappedBy="employees")
private Store store;
}
@ManyToOne(mappedBy="employees")
標有一個錯誤說"The attribute mappedBy is undefined for the annotation type ManyToOne"
。而且它建議我使用Eclipse使用cascade,fetch,optional,targetEntity
instead.Am真糊塗here.Am之一。
你的回答是不是很有幫助。就像你在我的[其他](http://stackoverflow.com/questions/22009499/modeling-relationships-jpa-between-如果我知道「非常明確」的錯誤的原因,我不會問這個問題。另外,我想知道爲什麼這個例子在書中的作品,並給出了一個錯誤在我的代碼中。 –
「mappedBy應該位於Collection的哪一側」對您來說有點麻煩? Store有一個Collection字段,沒有「mappedBy」(但我告訴你,這是你應該把它放在哪裏,就像任何正派的JPA文檔一樣),Employee有「mappedBy」,但這是非法的(正如消息告訴您)。這本書,如果它真的說出你所說的話,會有嚴重的錯誤(並且Eclipse顯示ManyToOne中不存在這個屬性應該足以得出結論) – DataNucleus