在hibernate中如何设置各种表对象的状态

时间:2013-02-28 21:27:40

标签: mysql hibernate hibernate-mapping

我有两个对象,Customer和Store。我希望用户(来自用户表)能够将客户或商店指定为“首选”。然后,我将能够看到喜欢不同商店或客户的用户列表。这是否可以通过hibernate映射实现?

如果可以在每个用户的商店客户上设置首选状态,那么表结构会是什么样的?

1 个答案:

答案 0 :(得分:1)

因此,用户有许多首选商店,商店是许多用户的首选商店。因此,这是User和Store之间的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);
}