• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

Spring Data Jpa 多对多之查询问题?

大家好,最近在学习Spring Data Jpa,遇到关于多对多中的问题,想请教大家

我们都知道 用户-角色-权限 是用户-角色多对多  角色-权限多对多如此便有以下实体类:
/** * 描述:用户实体 * @author itbofeng bf1020070755@163.com */@Data@Entitypublic class User implements Serializable {    @Id    @Column(length = 64, nullable = false)    private String uid;//用户ID 主键 64位    @Column(length = 64, nullable = false)    private String uname;//用户名 非空 64位    @Column(length = 64, nullable = false)    private String username;//登录名 非空 64位    @Column(length = 64, nullable = false)    private String password;//密码 非空 64位    @Column(length = 64, nullable = true)    private String email;//邮箱 可空 64位    @Column(length = 64, nullable = true)    private String phone;//电话 可空 64位    @Column(length = 1, nullable = true)    private String state;//电话 可空 64位    @ManyToMany(cascade = CascadeType.ALL ,fetch = FetchType.EAGER)    @JoinTable(name = "UserRole", joinColumns = {    @JoinColumn(name = "uid", referencedColumnName = "uid")}, inverseJoinColumns = {    @JoinColumn(name = "rid", referencedColumnName = "rid")})    protected List roles;}/** * 描述:角色实体 * @author itbofeng bf1020070755@163.com */@Data@Entitypublic class Role implements Serializable {    @Id    @Column(length = 64)    private String rid;//角色ID 主键 64位    @Column(length = 64,nullable = false)    private String rname;//角色名称 主键 64位    @ManyToMany(mappedBy = "roles", fetch = FetchType.LAZY)    private List users;    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)    @JoinTable(name = "RolePermission", joinColumns = {            @JoinColumn(name = "rid", referencedColumnName = "rid")}, inverseJoinColumns = {            @JoinColumn(name = "pid", referencedColumnName = "pid")})    private List permissions;}/** * 描述:权限实体 * @author itbofeng bf1020070755@163.com */@Data@Entitypublic class Permission implements Serializable {    @Id    @Column(length = 64)    private String pid;//权限ID 64位    @Column(length = 64,nullable = false)    private String pname;//权限名称 64位    @Column(length = 1,nullable = false)    private String type;//权限类别,0菜单,1按钮 1位    @Column(length = 256,nullable = true)    private String url;//对应菜单  256位    @Column(length = 64)    private String parentId;//权限ID 64位    @ManyToMany(mappedBy = "permissions" ,fetch = FetchType.LAZY)    private List roles;}现有需求:根据用户名查询出用户的所有信息,包括角色以及角色拥有的权限,用Spring Data Jpa怎么实现呢?
我最初的想法是,先查询出用户,再根据用户ID查询出所有的角色,再根据所有的角色ID查询出所有的权限,然后将角色和权限对应一下就OK了,做到这一步了,忽然发现没有什么字段可以对应?请问各路大神都是怎么操作的呢?

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

可以用sql语句

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!