package com.yunhai.userbase.entity; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Index; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import javax.validation.constraints.NotNull; /** * @author chenx * @date 2026/7/27 * @description 业务角色-模块权限关系表(逻辑外键,无物理 FK)。
* 存在记录即代表该角色显式拥有该模块。
*/ @NoArgsConstructor @Data @Entity @Table( name = "sys_app_role_module_rel", indexes = { @Index(name = "idx_app_role_module_role", columnList = "role_id"), @Index(name = "idx_app_role_module_module", columnList = "module_id") }, uniqueConstraints = { @UniqueConstraint(name = "uk_app_role_module", columnNames = {"role_id", "module_id"}) } ) @EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false) public class SysAppRoleModuleRel extends BaseEntity { /** * 角色ID(逻辑外键 → SysAppRole.id)。
*/ @NotNull @Column(name = "role_id", nullable = false) private Integer roleId; /** * 模块ID(逻辑外键 → AppModule.id)。
*/ @NotNull @Column(name = "module_id", nullable = false) private Integer moduleId; }