2015-06-14 60 views
0

我有兩個實體和它們之間的OneToMany關係。第一:Java持久性(Ebean)將生成的值序列化到Json

@Entity 
public class Trip extends Model { 

    ... 

    @OneToMany(cascade = CascadeType.ALL) 
    public List<Category> categories = new ArrayList<>(); 
} 

第二個:

@Entity 
public class Category extends Model { 

    ... 

    @ManyToOne 
    public Trip trip; 
} 

所以,Ebean自動生成用於Categorytrip_id列。

現在我需要將Category實體/對象序列化爲JSON(包含trip_id)。我該怎麼做?我試圖手動創建trip_id字段,但收到了重複的異常。

回答

0

你有單向關係。您應該將它們更改爲雙向。所以應該是:

@Entity 
public class Trip extends Model { 

    ... 

    @OneToMany(cascade = CascadeType.ALL, mappedBy="trip") 
    public List<Category> categories = new ArrayList<>(); 
} 

@Entity 
public class Category extends Model { 

    ... 

    @ManyToOne 
    public Trip trip; 

    @OneToMany(mappedBy="category") 
    public List<Place> places = new ArrayList<>(); 
} 

@Entity 
public class Place extends Model { 

    ... 

    @ManyToOne 
    public Category category; 

} 
+0

對不起,但我不明白它是如何幫助序列化'trip_id'到JSON。也許我的問題不清楚。我需要發送通過HTTP轉換爲JSON的'Trip'對象。並且'trip_id'屬性應該在那裏(而不是整個'Trip')。我已經通過一些解決方法解決了它,但也許有更好的方法。順便說一句,我已經在這裏有雙向關係,只是粘貼了錯誤的代碼,抱歉:)編輯我的問題。 –