当前位置: 首页 > 面试题库 >

使用Hibernate和批注进行自我引用的多对多关系

钮兴安
2023-03-14
问题内容

我的大脑开始为此烦恼,这很简单:

@ManyToMany(mappedBy = "following", cascade = CascadeType.ALL)
private Set<User> followers = new HashSet<User>();

@ManyToMany(mappedBy = "followers", cascade = CascadeType.ALL)
private Set<User> following = new HashSet<User>();

问题答案:

就像是:

@ManyToMany(mappedBy = "following", cascade = CascadeType.ALL)
@JoinTable(name="UserRel", 
                joinColumns={@JoinColumn(name="ParentId")}, 
                inverseJoinColumns={@JoinColumn(name="UserId")})
private Set<User> followers = new HashSet<User>();

@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name="UserRel", 
                joinColumns={@JoinColumn(name="UserId")}, 
                inverseJoinColumns={@JoinColumn(name="ParentId")})
private Set<User> following = new HashSet<User>();


 类似资料:
  • 问题内容: 我通过使用本教程学习Spring,Hibernate,Maven:Chad Lung:一个使用Netbeans 7,JUnit,Maven,HSQLDB,Spring和Hibernate的项目 。可以,但是我需要建立一对多关系(一个雇员有很多任务)。我已经尝试了许多示例,但仍然不知道如何使代码正常工作: Employee.java: Task.java: db-config.xml:

  • 问题内容: 我正在使用Hibernate Envers来审核我的实体。但是我有一个问题。我想审核一个具有ManyToMany关系的实体。我发现存在一个@AuditJoinTable,但是我不知道它是如何工作的。有人可以举一个例子吗? 问题答案: 审核多对多关系应该可以在没有任何其他配置的情况下进行,前提是必须对关系的双方进行审核。 关于,注释用于指定联接表的自定义表名称。看到: http://do

  • 问题内容: 我的大脑开始为此烦恼,这很简单吗: 问题答案: 就像是:

  • 问题内容: 使用带注释的hibernate模式,我希望按“许多”表上的“创建”字段对一对多关系进行排序。 到目前为止,我已经知道了,它总是以随机顺序结束: 问题答案: 因为这两个答案都没有为您提供完整的解决方案: 是无序的,请改用,并且也需要注释。

  • > 我有3个实体用户、应用程序和角色。 null null Role1.getUsers().Add(user);Role1.getUsers().Add(user); role2.getUsers().add(user);role2.getUsers().add(user); user.getApplications().add(app1);user.getApplications().add(

  • 我正在学习冬眠,只是有点困惑。