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_user_app_role_rel", indexes = { @Index(name = "idx_user_app_role_user", columnList = "user_id"), @Index(name = "idx_user_app_role_role", columnList = "role_id") }, uniqueConstraints = { @UniqueConstraint(name = "uk_user_app_role", columnNames = {"user_id", "role_id"}) } ) @EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false) public class SysUserAppRoleRel extends BaseEntity { /** * 用户ID(逻辑外键 → SysUser.id)。
*/ @NotNull @Column(name = "user_id", nullable = false) private Integer userId; /** * 角色ID(逻辑外键 → SysAppRole.id)。
*/ @NotNull @Column(name = "role_id", nullable = false) private Integer roleId; }