2012-01-17 90 views
0

假設我有以下使用Hibernate的POJO。轉換雙向關係(無限循環)

public class User { 

    private String userName; 
    private String name; 
    private String surname; 
    private List<Blog> blogList; 

    //All getters and setters are found here and assume they're generated. 
} 

public class Blog { 
    private String title; 
    private String content; 
    private User author; 
    private Date datePublished; 
    private Date dateLastModified; 

    //All getters and setters have been generated (by Eclipse or NetBeans) 
} 

如陳述here Hibernate在數據檢索時防止無限循環。我的應用程序架構使用兩種不同類型的傳輸對象。一個用於後端,另一個用於前端目的。在轉換器中間轉換它們。在這裏,我遇到了早些時候阻止的問題。

一個解決方案可能會改變關係到單向。但是有沒有另一種解決方案可以讓我使用雙向方法?

回答

0

解決辦法有兩個:

  • 不使用的DTO,並轉移Hibernate的實體本身。他們是POJO,並且可以序列化,如果你讓他們實現Serializable接口
  • 修復轉換代碼。要麼在DTO中使關聯單向,要麼確保正確轉換雙向關聯。 Hibernate可以做到,所以你應該也可以做到這一點。
+0

如果我知道如何去做,我不會問這裏:-) – Sven 2012-01-17 15:08:50

+0

這不是你問的。你問是否有其他的解決方案,而不是雙向關聯。如果您希望我們告訴您如何解決您的轉換代碼,請告訴我們轉換代碼。 – 2012-01-17 15:10:58