在Hibernate中,如何为多对多自联接创建新关系

在Hibernate中,如何为多对多自联接创建新关系,hibernate,many-to-many,hibernate-mapping,self-join,Hibernate,Many To Many,Hibernate Mapping,Self Join,我试图通过多对多的自加入来维持用户和朋友之间的关系。我使用以下方法,但数据库中从未创建任何关系。传递方法参数的用户是根据用户输入创建的,仅包含一个id。它还有一组只有id的好友。代码如下: public User saveUserFriends(User user) { Transaction transaction = null; try { User retrievedUser = (User) session.get(User.clas

我试图通过多对多的自加入来维持用户和朋友之间的关系。我使用以下方法,但数据库中从未创建任何关系。传递方法参数的用户是根据用户输入创建的,仅包含一个id。它还有一组只有id的好友。代码如下:

 public User saveUserFriends(User user) {

     Transaction transaction = null;
        try {
            User retrievedUser = (User) session.get(User.class, user.getId());

            transaction = session.beginTransaction();

             for(User friend :user.getFriends()){
                System.out.println("friend "+friend.getId());
                friend = (User) session.get(User.class, friend.getId());
                System.out.println("retrieved user id "+user.getId());

                retrievedUser.getFriends().add(friend);

                session.save(retrievedUser);
                transaction.commit();
            }



        }catch (HibernateException e) {
            e.printStackTrace();
        } finally {
            session.close();
        }




    return user;
}
我的hibernate映射如下所示:

<hibernate-mapping>
    <class name="com.User" table="User">
        <id name="id" type="int">
        <column name="userId" />
            <generator class="native" />
        </id>
        <set name="friends" table="User_Friend" 
                inverse="true" lazy="false" cascade="none">
            <key column="userId"/>
            <many-to-many column="friendId" class="com.User" />
        </set>
        <set name="users" table="User_Friend" 
                inverse="true" lazy="false" cascade="none">
            <key column="friendId"/>
            <many-to-many column="userId" class="com.User" />
        </set>
    </class>
</hibernate-mapping>


输出仅为选择。为什么没有创建关系?

我不是XML映射专家,但多对多关联的两面都被标记为反面(
reverse=“true”
)。因此,在持久化用户时,Hibernate并不关心它们