Java 在hibernate中使用复合键连接两个表

Java 在hibernate中使用复合键连接两个表,java,mysql,hibernate,Java,Mysql,Hibernate,我刚开始冬眠,我找不到解决这个问题的方法。 我有两张桌子如下 User ---- Id fistName lastName subscribed ---------- subscribedBy subscribedTo 一个用户可以订阅另一个用户。因此,subscribedBy和subscribedTo都是用户ID,两列一起创建一个复合键 例如,user1已订阅user2和user3。我想使用hibernate实体获取有关user2和user3的详细信息。但是除了id之外,我不需要获得

我刚开始冬眠,我找不到解决这个问题的方法。 我有两张桌子如下

User
----

Id
fistName
lastName


subscribed
----------

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

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

像这样的,

public class subscribed {

    private long subscribedBy;
    private List< User> subscribedToUsers;
}
已订阅公共类{
私人长期认购;
私有列表<用户>订阅用户;
}

您正在寻找Hibernate的
@manytomy
。不需要创建联接表;Hibernate将为您做到这一点:

class User {
    @Id
    Long Id
    String fistName
    String lastName

    @ManyToMany
    Collection<User> subscriptions
}
类用户{
@身份证
长Id
字符串fistName
字符串姓氏
@许多
集合订阅
}