直接上代码:
UserRole.java
@Entity @Table(name = "sys_users_roles") @IdClass(UserRoleCompositePK.class) public class UserRole implements Serializable { /** * */ private static final long serialVersionUID = 1L; @Id @Column(name = "user_id") private Long userId; @Id @Column(name = "role_id") private Long roleId; public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public Long getRoleId() { return roleId; } public void setRoleId(Long roleId) { this.roleId = roleId; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; UserRole userRole = (UserRole) o; if (roleId != null ? !roleId.equals(userRole.roleId) : userRole.roleId != null) return false; if (userId != null ? !userId.equals(userRole.userId) : userRole.userId != null) return false; return true; } @Override public int hashCode() { int result = userId != null ? userId.hashCode() : 0; result = 31 * result + (roleId != null ? roleId.hashCode() : 0); return result; } @Override public String toString() { return "UserRole{" + "userId=" + userId + ", roleId=" + roleId + '}'; } }
UserRoleCompositePK
public class UserRoleCompositePK implements Serializable { /** * */ private static final long serialVersionUID = 1L; @Column(name = "user_id") private Integer userId; @Column(name = "role_id") private Integer roleId; public Integer getUserId() { return userId; } public Integer getRoleId() { return roleId; } public void setUserId(Integer userId) { this.userId = userId; } public void setRoleId(Integer roleId) { this.roleId = roleId; } }
这样,数据库就会新增一个具有复合主键的表 sys_users_roles。
以上。
浙公网安备 33010602011771号