JPA学习笔记-EJB-04JPA关联映射总结--3

下面来看角色实体

UxRole

package module.system.vo;

  

import org.apache.struts2.json.annotations.JSON;

 

/**

 * UxAdmin entity. @author MyEclipse Persistence Tools

 */

@Entity

@Table(name = "ux_sys_role")

public class UxRole implements java.io.Serializable {

 

    // Fields

    @Id

    @GeneratedValue(strategy = GenerationType.AUTO)

    @Column(name = "id", unique = true, nullable = false)

    private Integer id;

   

    @Column(name = "roleName", length = 32)

    private String roleName;

   

    @Column(name = "roleDesc", length = 500)

    private String roleDesc;

   

    @ManyToMany(fetch = FetchType.LAZY)

    @JoinTable(name = "ux_sys_role_menu", joinColumns = { @JoinColumn(name = "roleId") }, inverseJoinColumns = { @JoinColumn(name = "menuId") })

    private Set<UxSysMenu> menus;

   

   

    @ManyToMany(fetch = FetchType.LAZY)

    @JoinTable(name = "ux_sys_user_role", joinColumns = { @JoinColumn(name = "roleId") }, inverseJoinColumns = { @JoinColumn(name = "adminId") })

    private Set<UxAdmin> uxAdmins;

 

    // Constructors

 

    /** default constructor */

    public UxRole() {

    }

 

    /** minimal constructor */

    public UxRole(Integer id) {

       this.id = id;

    }

 

    public Integer getId() {

       return id;

    }

 

    public void setId(Integer id) {

       this.id = id;

    }

 

    public String getRoleName() {

       return roleName;

    }

 

    public void setRoleName(String roleName) {

       this.roleName = roleName;

    }

 

    public String getRoleDesc() {

       return roleDesc;

    }

 

    public void setRoleDesc(String roleDesc) {

       this.roleDesc = roleDesc;

    }

   

    @JSON(serialize = false)

    public Set<UxSysMenu> getMenus() {

       return menus;

    }

 

    public void setMenus(Set<UxSysMenu> menus) {

       this.menus = menus;

    }

   

    @JSON(serialize = false)

    public Set<UxAdmin> getUxAdmins() {

       return uxAdmins;

    }

 

    public void setUxAdmins(Set<UxAdmin> uxAdmins) {

       this.uxAdmins = uxAdmins;

    }

 

    /**

     * 是否主键相等

     */

    @Override

    public boolean equals(Object obj) {

      

       if(obj instanceof UxRole){

           UxRole uxRole = (UxRole)obj;

           if(uxRole.id == this.id){

              return true;

           }

          

       }

      

       return false;

    }

 

    @Override

    public int hashCode() {

       // TODO Auto-generated method stub

       return this.id;

    }

}

说明:角色实体双向关联了人员实体和菜单实体,让人员和菜单建立起了一个桥梁,当然,因为人员对应的角色有可能重复,所以在角色类中必须实现equalshashCode。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值