【发布时间】:2017-07-12 15:44:52
【问题描述】:
我的 Spring-Boot 应用程序中有两个实体:
User.java
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
String firstname;
String lastname;
String username;
String password;
}
和
Role.java
Entity
@Table(name = "role")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
String name;
String description;
}
对于我的 MySql 数据库
我已经排除了这个问题的 getter 和 setter 方法。
我想实现两个实体之间的多对多关系。每个用户都应该能够为自己分配多个角色
我已经为我的数据库中的两个表创建了一个映射表。它有行
- user_id
- role_id.
我还创建了一个新实体 UserRole.java,如下所示:
@Entity
@Table(name = "user_role")
public class UserRole implements Serializable{
private User user;
private Role role;
@Id
@ManyToOne
@JoinColumn(name = "user_id")
public User getuser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Id
@ManyToOne
@JoinColumn(name = "role_id")
public Role getrole(){
return role;
}
public void setRole(Role role){
this.role = role;
}
}
现在我的问题是:这个结构正确吗?如果是,我如何将现有角色添加到现有用户并在 spring-boot 中获取该用户的角色?
【问题讨论】:
标签: java mysql spring jpa spring-boot