2011-07-18 20 views
7

Tôi đã đọcLàm thế nào để lập bản đồ mối quan hệ giữa OneToOne POJO sử dụng @JsonManagedReference và @JsonBackReference

tìm kiếm giải pháp để lập bản đồ One-To- Một mối quan hệ. Tuy nhiên, những bản trình diễn trong các bài viết là tất cả Nhiều người hoặc Một-Nhiều. Từ bản demo, tôi kết luận rằng trong hầu hết các trường hợp, chúng tôi sẽ chú thích bên ONE là @JsonManagedReference và bên MANY là @JsonBackReference.

Tuy nhiên, không có gợi ý về cách ánh xạ One-To-One. Bạn còn ý kiến ​​nào không?

Ngoài ra, điều gì sẽ xảy ra nếu nó là một hướng-một-hai chiều?

Trả lời

15

Bạn có thể nghĩ về nó như một trường hợp đặc biệt của một-nhiều; do đó bạn sẽ chú thích tham chiếu từ 'parent' thành 'child' thành @JsonManagedReference và 'child' thành 'parent' là @JsonBackReference.

Một tài liệu khác có thể hữu ích là tài liệu tại số FasterXML Jackson Wiki; ví dụ đầu tiên là cho mối quan hệ một-một, và nên được áp dụng cho trường hợp của bạn.

+0

Cảm ơn bạn! Câu trả lời của bạn khá hữu ích đối với tôi. Nhân tiện, điều gì sẽ xảy ra nếu tôi muốn lập bản đồ một hướng một đến một? –

+0

Trường hợp hai hướng hoàn toàn là tuần hoàn, vì vậy nó không được hỗ trợ hiện tại: nó sẽ cần xử lý đúng biểu đồ tuần hoàn (có thể xử lý tất cả các kết hợp khác, nhưng yêu cầu siêu dữ liệu trong JSON, id đối tượng hoặc như vậy) – StaxMan

+1

@JsonIdentityInfo sẽ hoạt động. [JacksonFeatureObjectIdentity] (http://wiki.fasterxml.com/JacksonFeatureObjectIdentity) – pavan

Các vấn đề liên quan