看看你是不是用Lombok生成代码了,去掉lombok注解手动写代码试试。
用户与角色,多对多
用户表实体:
package com.ihrm.domain.system;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
@Entity
@Table(name = "bs_user")
//@Data@NoArgsConstructor@AllArgsConstructor
public class User implements Serializable {
private static final long serialVersionUID = -7611123338481573454L;
@Id
private String id;// id
private String mobile;// 手机号码
private String username;// 用户名称
private String password;// 密码
private Integer enable_state;// 启用状态 0是禁用,1是启用
private Date create_time;// 创建时间
private String department_id;// 部门id
private Date time_of_entry;// 入职时间
private Integer form_of_employment;// 聘用形式
private String work_number;// 工号
private String form_of_management;// 管理形式
private String working_city;// 工作城市
private Date correction_time;// 转正时间
private Integer in_service_status;// 在职状态 1.在职 2.离职
private String company_id;// 企业id
private String company_name;// 企业名称
private String department_name;// 部门名称
@ManyToMany
/**
* 忽略json转化
*/
@JsonIgnoreProperties(value = "users")
@JoinTable(name = "pe_user_role",joinColumns = {
@JoinColumn(name = "user_id",referencedColumnName = "id")
},
inverseJoinColumns = {
@JoinColumn(name = "role_id",referencedColumnName = "id")
} )
private Set<Role> roles = new HashSet<>();// 用户与角色,多对多
public User() {
}
public User(String id, String mobile, String username, String password, Integer enable_state, Date create_time, String department_id, Date time_of_entry, Integer form_of_employment, String work_number, String form_of_management, String working_city, Date correction_time, Integer in_service_status, String company_id, String company_name, String department_name, Set<Role> roles) {
this.id = id;
this.mobile = mobile;
this.username = username;
this.password = password;
this.enable_state = enable_state;
this.create_time = create_time;
this.department_id = department_id;
this.time_of_entry = time_of_entry;
this.form_of_employment = form_of_employment;
this.work_number = work_number;
this.form_of_management = form_of_management;
this.working_city = working_city;
this.correction_time = correction_time;
this.in_service_status = in_service_status;
this.company_id = company_id;
this.company_name = company_name;
this.department_name = department_name;
this.roles = roles;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getEnable_state() {
return enable_state;
}
public void setEnable_state(Integer enable_state) {
this.enable_state = enable_state;
}
public Date getCreate_time() {
return create_time;
}
public void setCreate_time(Date create_time) {
this.create_time = create_time;
}
public String getDepartment_id() {
return department_id;
}
public void setDepartment_id(String department_id) {
this.department_id = department_id;
}
public Date getTime_of_entry() {
return time_of_entry;
}
public void setTime_of_entry(Date time_of_entry) {
this.time_of_entry = time_of_entry;
}
public Integer getForm_of_employment() {
return form_of_employment;
}
public void setForm_of_employment(Integer form_of_employment) {
this.form_of_employment = form_of_employment;
}
public String getWork_number() {
return work_number;
}
public void setWork_number(String work_number) {
this.work_number = work_number;
}
public String getForm_of_management() {
return form_of_management;
}
public void setForm_of_management(String form_of_management) {
this.form_of_management = form_of_management;
}
public String getWorking_city() {
return working_city;
}
public void setWorking_city(String working_city) {
this.working_city = working_city;
}
public Date getCorrection_time() {
return correction_time;
}
public void setCorrection_time(Date correction_time) {
this.correction_time = correction_time;
}
public Integer getIn_service_status() {
return in_service_status;
}
public void setIn_service_status(Integer in_service_status) {
this.in_service_status = in_service_status;
}
public String getCompany_id() {
return company_id;
}
public void setCompany_id(String company_id) {
this.company_id = company_id;
}
public String getCompany_name() {
return company_name;
}
public void setCompany_name(String company_name) {
this.company_name = company_name;
}
public String getDepartment_name() {
return department_name;
}
public void setDepartment_name(String department_name) {
this.department_name = department_name;
}
public Set<Role> getRoles() {
return roles;
}
public void setRoles(Set<Role> roles) {
this.roles = roles;
}
}
角色表实体类:
package com.ihrm.domain.system;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
@Entity
@Table(name = "pe_role")
public class Role implements Serializable {
private static final long serialVersionUID = 688233531029170145L;
@Id
private String id;// 主键ID
private String name;// 权限名称
private String description;// 说明
private String company_id;// 企业id
@JsonIgnoreProperties(value = "roles")
@ManyToMany(cascade = CascadeType.REFRESH,mappedBy = "roles")
private Set<User> users = new HashSet<>(0);// 角色与用户 多对多
public Role() {
}
public Role(String id, String name, String description, String company_id, Set<User> users) {
this.id = id;
this.name = name;
this.description = description;
this.company_id = company_id;
this.users = users;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getCompany_id() {
return company_id;
}
public void setCompany_id(String company_id) {
this.company_id = company_id;
}
public Set<User> getUsers() {
return users;
}
public void setUsers(Set<User> users) {
this.users = users;
}
// @JsonIgnore
// @ManyToMany
// @JoinTable(name = "pe_role_permission",joinColumns = {
// @JoinColumn(name = "role_id",referencedColumnName = "id")
// },
// inverseJoinColumns = {
// @JoinColumn(name = "permission_id",referencedColumnName = "id")})
// private Set<Permission> permissions = new HashSet<>();
}