java - 具有两个多对一关系的实体关系

标签 java hibernate jpa

我需要实现用户邀请,但在映射实体方面遇到了一些问题。我有用户实体,其中有一组邀请,并且邀请有用户字段和邀请用户字段。这样我就有了两个相同的用户字段。

用户端:

@OneToMany(mappedBy="user")
public Set<Invitation> invitations;

邀请:

@ManyToOne
@JoinColumn(name="idInvitingUser", insertable=false, updatable=false)
public User invitingUser;

@ManyToOne
@JoinColumn(name="idUser")
public User user;

我怎样才能映射这个正确的?

最佳答案

我想您在用户端需要两组邀请:发送的邀请和收到的邀请。

更新:

@OneToMany(mappedBy="user")
public Set<Invitation> invitations;

@OneToMany(mappedBy="invitingUser")
public Set<Invitation> invitationsSent;

关于java - 具有两个多对一关系的实体关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23167738/

相关文章:

java - 如何在文本文件中搜索字符串备份 = True

java - Hibernate 映射返回 null 属性

java - Hibernate加载了一个惰性代理,但我只需要PK

java - 带有 Postgres 的 Spring JPA - 从一开始就重置 ID 生成

jpa - 如何将集合/列表设置为 JPA 条件查询的命名参数?

java - 带斜杠和点的 RequestMapping

java - ListPreference 默认值未在首选项中设置

java - java中如何知道jar文件的目录?

java - 使用 Java 泛型的 Hibernate 映射异常

java - 如何优化 JPA 查询