如何使用休眠模式不在主键上创建@ManyToMany映射

时间:2018-12-30 22:05:06

标签: hibernate jpa

我有两个表:

  • User (ID, name),其中name是唯一行,ID是PK
  • Role (ID, name),其中ID是PK

现在我知道我可以使用JPA连接这些

在我的用户中:

@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
@JoinTable(name = "UserHasRole", joinColumns = @JoinColumn(name = "user_id"),
        inverseJoinColumns = @JoinColumn(name = "role_id"))
private List<RoleEntity> roles = new ArrayList<>(); 

在RoleEntity端:

@ManyToMany(mappedBy = "roles")
private List<UserEntity> users = new ArrayList<>();

到目前为止,它仍然可以正常工作,但是我想在UserEntity关系中使用name的{​​{1}}而不是id。我该怎么办?

我在@ManyToMany中的列定义:

UserEntity

0 个答案:

没有答案