在我的数据库中,我有三个表USER
,PERMISSION
和一个联结表USER_PERMISSIONS
。正如你所看到的,我已经明确了多对多的关系。
这就是问题所在。我正在使用Hibernate。是否可以仅使用两个类User
和Permissions
而无需创建联结类UserPermissions
?我的意思是我可以使用某种注释来包含我的联结表USER_PERMISSIONS
吗?
答案 0 :(得分:1)
是的,你可以。您需要使用@JoinTable和@JoinColumn注释。示例如下:
@Entity
@Table(name = "USER")
public class User {
@Id
@Column(name = "ID")
private Long id;
@ManyToMany
@JoinTable(name = "USER_PERMISSIONS",
joinColumns = @JoinColumn(name = "USER_ID", referencedColumnName = "ID"),
inverseJoinColumns = @JoinColumn(name = "PERM_ID", referencedColumnName = "ID"))
private Collection<Permissions> permissions;
可以找到多个到多个双向的完整工作示例