我有兩個實體Item
。休眠@OneToOne給出錯誤
它們與實體Link
每個項目可以有很多的鏈接鏈接,但鏈接是兩個項目之間的連接。
問題是項目的順序很重要。其中一個始終是第一個item
,另一個則是第二個item
。
所以我的實體是這樣的:
Item
private Collection<Link> links = new ArrayList<Link>();
@OneToOne(cascade = CascadeType.ALL, mappedBy = ????)
public Collection<Link> getLinks() {
return links;
}
Link
private Item firstItem;
private Item secondItem;
@OneToOne(mappedBy = ???)
public Item getFirstItem() {
return firstItem;
}
@OneToOne(mappedBy = ???)
public Item getSecondItem() {
return secondItem;
}
我本來應該投入到mappedBy
??由於pseudomapping爲Item
應該我smthin這樣的: mappedBy = { "firstItem", "secondItem") }
起初,我並沒有映射,這給錯誤:
@OneToOne or @ManyToOne on foo.bar.Item.links references an unknown entity: java.util.Collection
也許我沒有收到什麼東西,但是如何用@OneToOne映射一個集合? –
爲了擴大@DenisTulskiy所說的話:你*不能*用@ OneToOne映射一個集合。另外,你需要使用'@ OneToMany'。您可能需要有兩個集合,一個用於'Link',其中'Item'是第一個,另一個用於第二個集合。 –