/**
* @ClassName: Role
* @Description: 权限组(岗位)
* @author Bert
* @date 2013-01-13
*/
@Entity
@Table(name = "reptile_role")
@GenericGenerator(name = "idGenerator", strategy = "uuid")
@DynamicInsert(true)
@DynamicUpdate(true)
public class Role implements Serializable {
/**
*
*/
private static final long serialVersionUID = -6349390564992894730L;
/**
* 编号
*/
private String id;
/**
* 名称
*/
private String name;
/**
* 排序
*/
private Integer sortNumber;
/**
* 备注
*/
private String memo;
/**
* 建立用户编号
*/
private String createUserNO;
/**
* 操作时间
*/
private Date createdate = new Date();
/**
* 对应的用户
*/
private Set<User> users = new HashSet<User>();
/**
* 对应的菜单
*/
private Set<Menu> menus = new HashSet<Menu>();
/**
* 对应的操作
*/
private Set<Module> modules = new HashSet<Module>();
public Role() {
super();
}
public Role(String id) {
super();
this.id = id;
}
public Role(String name, String memo) {
super();
this.name = name;
this.memo = memo;
}
@Id
@GeneratedValue(generator = "idGenerator")
@Column(name = "rl_id", length = 32)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Column(name = "rl_name", length = 100)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name = "rl_sortNumber", length = 4)
public Integer getSortNumber() {
return sortNumber;
}
public void setSortNumber(Integer sortNumber) {
this.sortNumber = sortNumber;
}
@Lob
@Column(name = "rl_memo")
public String getMemo() {
return memo;
}
public void setMemo(String memo) {
this.memo = memo;
}
@Column(name = "rl_createUserNO", length = 32)
public String getCreateUserNO() {
return createUserNO;
}
public void setCreateUserNO(String createUserNO) {
this.createUserNO = createUserNO;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "rl_createdate")
public Date getCreatedate() {
return createdate;
}
public void setCreatedate(Date createdate) {
this.createdate = createdate;
}
@ManyToMany(mappedBy="roles",cascade=CascadeType.REFRESH)
public Set<User> getUsers() {
return users;
}
public void setUsers(Set<User> users) {
this.users = users;
}
@ManyToMany(cascade = { CascadeType.REFRESH, CascadeType.MERGE }, fetch = FetchType.EAGER)
@JoinTable(name = "sys_role_menu", joinColumns = @JoinColumn(name = "role_id"), inverseJoinColumns = @JoinColumn(name = "menu_id"))
public Set<Menu> getMenus() {
return menus;
}
public void setMenus(Set<Menu> menus) {
this.menus = menus;
}
@ManyToMany(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
@JoinTable(name = "sys_role_module", joinColumns = @JoinColumn(name = "role_id"), inverseJoinColumns = @JoinColumn(name = "module_id"))
public Set<Module> getModules() {
return modules;
}
public void setModules(Set<Module> modules) {
this.modules = modules;
}
/** 给权限组添加菜单授权 **/
public void addPrivilegeMenu(Menu menu) {
this.menus.add(menu);
}
/** 给权限组添加操作授权 **/
public void addPrivilegeModule(Module module) {
this.modules.add(module);
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((memo == null) ? 0 : memo.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Role other = (Role) obj;
if (memo == null) {
if (other.memo != null)
return false;
} else if (!memo.equals(other.memo))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
* @ClassName: Role
* @Description: 权限组(岗位)
* @author Bert
* @date 2013-01-13
*/
@Entity
@Table(name = "reptile_role")
@GenericGenerator(name = "idGenerator", strategy = "uuid")
@DynamicInsert(true)
@DynamicUpdate(true)
public class Role implements Serializable {
/**
*
*/
private static final long serialVersionUID = -6349390564992894730L;
/**
* 编号
*/
private String id;
/**
* 名称
*/
private String name;
/**
* 排序
*/
private Integer sortNumber;
/**
* 备注
*/
private String memo;
/**
* 建立用户编号
*/
private String createUserNO;
/**
* 操作时间
*/
private Date createdate = new Date();
/**
* 对应的用户
*/
private Set<User> users = new HashSet<User>();
/**
* 对应的菜单
*/
private Set<Menu> menus = new HashSet<Menu>();
/**
* 对应的操作
*/
private Set<Module> modules = new HashSet<Module>();
public Role() {
super();
}
public Role(String id) {
super();
this.id = id;
}
public Role(String name, String memo) {
super();
this.name = name;
this.memo = memo;
}
@Id
@GeneratedValue(generator = "idGenerator")
@Column(name = "rl_id", length = 32)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Column(name = "rl_name", length = 100)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name = "rl_sortNumber", length = 4)
public Integer getSortNumber() {
return sortNumber;
}
public void setSortNumber(Integer sortNumber) {
this.sortNumber = sortNumber;
}
@Lob
@Column(name = "rl_memo")
public String getMemo() {
return memo;
}
public void setMemo(String memo) {
this.memo = memo;
}
@Column(name = "rl_createUserNO", length = 32)
public String getCreateUserNO() {
return createUserNO;
}
public void setCreateUserNO(String createUserNO) {
this.createUserNO = createUserNO;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "rl_createdate")
public Date getCreatedate() {
return createdate;
}
public void setCreatedate(Date createdate) {
this.createdate = createdate;
}
@ManyToMany(mappedBy="roles",cascade=CascadeType.REFRESH)
public Set<User> getUsers() {
return users;
}
public void setUsers(Set<User> users) {
this.users = users;
}
@ManyToMany(cascade = { CascadeType.REFRESH, CascadeType.MERGE }, fetch = FetchType.EAGER)
@JoinTable(name = "sys_role_menu", joinColumns = @JoinColumn(name = "role_id"), inverseJoinColumns = @JoinColumn(name = "menu_id"))
public Set<Menu> getMenus() {
return menus;
}
public void setMenus(Set<Menu> menus) {
this.menus = menus;
}
@ManyToMany(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
@JoinTable(name = "sys_role_module", joinColumns = @JoinColumn(name = "role_id"), inverseJoinColumns = @JoinColumn(name = "module_id"))
public Set<Module> getModules() {
return modules;
}
public void setModules(Set<Module> modules) {
this.modules = modules;
}
/** 给权限组添加菜单授权 **/
public void addPrivilegeMenu(Menu menu) {
this.menus.add(menu);
}
/** 给权限组添加操作授权 **/
public void addPrivilegeModule(Module module) {
this.modules.add(module);
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((memo == null) ? 0 : memo.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Role other = (Role) obj;
if (memo == null) {
if (other.memo != null)
return false;
} else if (!memo.equals(other.memo))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}
/**
* @Title: Gender
* @Description: 性别枚举
* @author Bert
* @date 2011-8-9 上午09:43:54
* @version V1.0
*/
public enum Gender {
MAN {
public String getGender() {
return "男";
}
},
WOMEN {
public String getGender() {
return "女";
}
};
public abstract String getGender();
}