67,513
社区成员
发帖
与我相关
我的任务
分享
@Entity
@Table(name = "role")
public class Role implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE},fetch = FetchType.EAGER)
@JoinTable(
name = "role_permission",
joinColumns = { @JoinColumn(name ="role_id" )},
inverseJoinColumns = { @JoinColumn(name = "permission_id") })
private List<Permission> permissions = new ArrayList<Permission>();
//省略若干属性和get/set
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public List<Permission> getPermissions() {
return permissions;
}
public void setPermissions(List<Permission> permissions) {
this.permissions = permissions;
}
}
@Entity
@Table(name= "permission")//uniqueConstraints = { @UniqueConstraint(columnNames = { "permission" }) })
public class Permission implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, mappedBy = "permissions", fetch = FetchType.EAGER)
private List<Role> roles = new ArrayList<Role>();
//省略若干属性和get/set
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public List<Role> getRoles() {
return roles;
}
public void setRoles(List<Role> roles) {
this.roles = roles;
}
}
Role role = new Role();
role.setCreateTime(now);
role.setCreateUser(1);
role.setIsDelete(0);
role.setRole(admin);
role.setUpdateTime(now);
role.setUpdateUser(1);
// 为超级管理员添加权限
role.setPermissions(new ArrayList<Permission>());
for (Permission permission : sysPer) {
role.getPermissions().add(permission);
}
session.save(role);