2011-07-18 67 views
7

我已閱讀如何映射

尋找解決方案來映射一對一使用@JsonManagedReference和@JsonBackReference的POJO之間的OneToOne關係一個關係。但是,這些演示文稿中的演示全部是多對一或一對多。從演示中,我得出結論:在大多數情況下,我們將@JsonManagedReference和MANY端註釋爲@JsonBackReference。

但是,沒有關於如何映射One-To-One的提示。你有什麼主意嗎?

另外,如果它是一個雙向一對一呢?

回答

15

你可以把它看作只是一對多的特例;所以你會註釋從@ parentName到'child'的引用@JsonManagedReference,'child'作爲@JsonBackReference註釋到'parent'。

另外一個可能有用的文檔是FasterXML Jackson Wiki;第一個例子是一對一的關係,應該適用於你的情況。

+0

謝謝!你的回答對我來說非常有用。順便說一句,如果我想映射一個雙向一對? –

+0

完全雙向的情況是循環的,所以它目前不受支持:它需要正確處理循環圖(然後可以處理所有其他組合,但是需要JSON中的元數據,對象id等) – StaxMan

+1

@JsonIdentityInfo將起作用。 [JacksonFeatureObjectIdentity](http://wiki.fasterxml.com/JacksonFeatureObjectIdentity) – pavan