在hibernate中使用复合键加入两个表

时间:2017-12-06 15:17:00

标签: java mysql hibernate

我是hibernate的新手,我找不到解决这个问题的方法。 我有两张表如下。

User
----

Id
fistName
lastName


subscribed
----------

subscribedBy
subscribedTo

用户可以订阅其他用户。因此, subscribedBy subscribedTo 都是用户ID,两个列一起创建了一个复合键。

例如,user1已订阅user2和user3。我想使用hibernate实体获取有关user2和user3的详细信息。但我不需要获取除以外的 subscribedBy 用户的详细信息。

像这样,

public class subscribed {

    private long subscribedBy;
    private List< User> subscribedToUsers;
}

1 个答案:

答案 0 :(得分:1)

您正在寻找Hibernate的@ManyToMany。无需创建连接表; Hibernate将为您做到这一点:

class User {
    @Id
    Long Id
    String fistName
    String lastName

    @ManyToMany
    Collection<User> subscriptions
}