2016-10-24 77 views
0

我有這樣訂單接收關係

enter image description here

的想法是有關係的模型,偏序可以接收,即接收將有相同的訂單的多次入境。另一方面,訂單將有多個相同的接收條目。爲了清楚的瞭解,請參閱該圖像,

enter image description here

數據可以很容易地保存。但是,儘管我試圖顯示接收的詳細信息(比如接收-1),但我無法針對某個訂單的特定項目顯示正確的收到數量,所有其他信息均正確顯示。總之,數據很好地保存在接收細節中,但無法正確檢索。

請問您可以告訴這個型號有什麼問題,或者請給我一個解決方案。

在此先感謝。

回答

0

您的第一張圖並未說明您的Receive-1/Receive-2表和您的訂單Item表之間的關係。我不確定這是否是一個疏忽,因爲你的第二個圖清楚地說明了相關的項目。

如果我正在建模,我可能會選擇數據模型的一個小改動。

@Entity 
public class Receipt { 
    @ManyToOne 
    private Order order; 

    @OneToMany(mappedBy = "receipt") 
    private List<ReceiptItem> entries; 
} 

@Entity 
public class ReceiptItem { 
    @ManyToOne 
    private Receipt receipt; 

    @ManyToOne 
    private Item item; 
} 

@Entity 
public class Item { 
    @OneToMany(mappedBy = "item") 
    private List<ReceiptItem> receipts; 
} 

這裏最大的重要因素是,無論ItemReceiptItem保持雙向關係,這是由ReceiptItem擁有。

這種關係應該允許您顯示Receipt及其關聯的ReceiptItem行,幷包含有關Item的任何相關信息。但是它也可以讓您在Order和適當的Item行中顯示關於物品收據的相關信息。