2013-02-28 32 views
0

我有兩個對象,Customer和Store。我希望用戶(來自用戶表)能夠將客戶或商店指定爲「首選」。然後,我可以看到喜歡不同商店或顧客的用戶列表。這可能與一個休眠映射?在休眠中如何設置各種表格對象的狀態

如果可以在每個用戶的商店客戶上設置首選狀態,那麼表結構將會顯示什麼內容?

+0

我不明白你想要什麼。狀態只需要一個額外的字段。什麼是商店的首選意味着什麼?對於客戶? – 2013-02-28 21:38:10

+0

我想看看哪些客戶和商店是用戶的首選。我認爲這意味着一個新的表與商店或客戶ID和用戶ID。然後,我可以看到所有準備好的商店/客戶。 – Atma 2013-02-28 22:08:36

回答

1

因此,用戶有許多首選商店,而商店是許多用戶的首選商店。這是用戶和商店之間的ManyToMany關聯。

就映射它作爲解釋in the documentation

public class User { 
    @ManyToMany 
    private Set<Store> preferredStores = new HashSet<Store>(0); 
} 

public class Store { 
    // necessary only if you want the association to be bidirectional: 
    @ManyToMany(mappedBy = "preferredStores") 
    private Set<User> preferringUsers = new HashSet<User>(0); 
} 
+0

客戶呢?我會使用某種多態來獲得一組客戶和商店嗎? – Atma 2013-02-28 22:45:48

+0

你爲什麼要混合這兩個實體。他們是不同的,沒有共同之處,至少我猜是這樣。因此,只需在User和Customer之間添加另一個ManyToMany關聯即可。 – 2013-02-28 22:48:58