/**
* @Intro descrption here
* @author Lee
* @Date 2013-7-30
*/
package com.fang.bbks.modules.sys.entity;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.hibernate.annotations.Where;
import com.fang.bbks.common.persistence.BaseEntity;
import com.google.common.collect.Lists;
/**
* @author Lee
*/
@Entity
@Table(name = "TB_ROLE")
public class Roles extends BaseEntity{
private static final long serialVersionUID = 3446263144818124242L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id; // 编号
private String name; // 角色名称
private String delFlag; // 删除标记(0:正常;1:删除)
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "sys_user_role", joinColumns = { @JoinColumn(name = "role_id") }, inverseJoinColumns = { @JoinColumn(name = "user_id") })
@Where(clause="del_flag="+DEL_FLAG_NORMAL)
@OrderBy("id")
@Fetch(FetchMode.SUBSELECT)
@NotFound(action = NotFoundAction.IGNORE)
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<User> userList = Lists.newArrayList(); // 拥有用户列表
public Roles() {
this.delFlag = DEL_FLAG_NORMAL;
}
public Roles(Long id, String name) {
this();
this.id = id;
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public List<User> getUserList() {
return userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
}