/** * @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; } }