io.github.shitsurei.dao.pojo.po.system.SystemRole Maven / Gradle / Ivy
The newest version!
package io.github.shitsurei.dao.pojo.po.system;
import io.github.shitsurei.dao.enumerate.system.DataStatus;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator;
import org.springframework.format.annotation.DateTimeFormat;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 系统角色实体类
*
* @author zhanggr-b
* @version 1.0
* @date 2021/12/24 10:51
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Entity
@Table(name = "system_t_role")
public class SystemRole implements Serializable {
private static final long serialVersionUID = -913686938217950514L;
// ------------------------------------------------- 主键约束 -------------------------------------------------
@Id
@GeneratedValue(generator = "uuidStrategy")
@GenericGenerator(name = "uuidStrategy", strategy = "org.hibernate.id.UUIDGenerator")
@Column(columnDefinition = "varchar(64) COMMENT '系统角色主键'")
private String systemRoleId;
// ------------------------------------------------- identifyColumn -------------------------------------------------
@Column(columnDefinition = "varchar(128) COMMENT '角色名称'")
private String roleName;
@Column(columnDefinition = "varchar(128) COMMENT '角色编码'")
private String roleCode;
// ------------------------------------------------- 外键约束 -------------------------------------------------
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "system_r_role_menu", joinColumns = {@JoinColumn(name = "role_id")}, inverseJoinColumns = {@JoinColumn(name = "menu_id")})
private List systemMenuList;
// ------------------------------------------------- baseColumn -------------------------------------------------
@Column(columnDefinition = "varchar(64) COMMENT '创建人'")
private String createPerson;
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Column(columnDefinition = "varchar(32) COMMENT '创建时间'")
private Date createTime;
@Column(columnDefinition = "varchar(64) COMMENT '修改人'")
private String updatePerson;
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Column(columnDefinition = "varchar(32) COMMENT '修改时间'")
private Date updateTime;
@Column(columnDefinition = "text COMMENT '备注'")
private String remark;
@Enumerated(EnumType.STRING)
@Column(columnDefinition = "varchar(16) COMMENT '数据状态'")
private DataStatus dataStatus;
}