spring data jpa 多对多查询
spring data jpa 多对多查询
以用户-角色 多读多为例:
User类,用户
@Entity
public class User {private String username;private String nickname;private String password;private String avatar;private String email;private String mobile;/*** 用户的所有角色*/@ManyToMany(cascade = CascadeType.DETACH)@JoinTable(name = "user_role_relation",joinColumns = @JoinColumn(name = "userId"),inverseJoinColumns = @JoinColumn(name = "roleId"))private Set<Role> roles = new HashSet<>();//...省略gets sets
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
Role类,角色
@Entity
public class Role {/*** 角色名称*/private String name;/*** 角色拥有权限的资源集合*/@ManyToMany(cascade = CascadeType.DETACH,fetch = FetchType.EAGER)@JoinTable(name = "role_resource_relation",joinColumns = @JoinColumn(name = "roleId"),inverseJoinColumns = @JoinColumn(name = "resourceId"))private Set<Resource> resources = new HashSet<>();//... 省略gets sets
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
SetJoin<User, Role> roles = root.join(root.getModel().getSet("roles", Role.class), JoinType.LEFT);
Predicate in = roles.in(ids);//省略Predicate的使用,拿到Predicate后就解决了set集合的in查询
spring data jpa 多对多查询相关推荐
- spring data jpa实现分页查询功能
spring data jpa实现分页查询功能 HTML代码部分: // 收派标准信息表格 $('#grid').datagrid( {iconCls : 'icon-forward',fit : t ...
- Spring Data JPA多表查询
多表查询在Spring Data JPA中有两种实现方式 第一种创建一个结果集接口来接收多表连查的结果 第二种利用JPA的关联映射来实现 先来熟悉一下几个注解 注解 意思 属性 @ManyToOne ...
- spring data jpa 的 in 查询 Specification 实现
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 只是一个简单需求: 查询所有部门id 属于 idList 的数据 Page<WorkWei ...
- Spring Data JPA自定义SELECT查询语句,自定义UPDATE修改语句
查询语句: 1. 在@Query 注解里设置value ,?1.?2 分别代表第一第二个参数, nativeQuery=true 表示是否是原生SQL @Query(value = "se ...
- java data jpa_java中Spring data jpa通过Predicate查询时间段
如下,想搜索time1和time2之间的数据,但是查不到cb是重写了方法中的参数CriteriaBuilder,root是参数Rootpredicates.add(cb.between(root.ge ...
- 【Spring Data JPA自学笔记五】一对多、多对多和级联
文章目录 数据库表的关系 一对多 多对多 Spring Data JPA实现一对多 基本配置 实现一对多 放弃维护权 Spring Data JPA实现多对多 基本配置 实现多对多 级联 之前的所有操 ...
- Spring Data JPA
1. 概述 Spring JPA通过为用户统一创建和销毁EntityManager,进行事务管理,简化JPA的配置等使用户的开发更加简便. Spring Data JPA是在Spring JPA ...
- Spring Data JPA教程
在Java类或对象与关系数据库之间管理数据是一项非常繁琐且棘手的任务. DAO层通常包含许多样板代码,应简化这些样板代码,以减少代码行数并使代码可重复使用. 在本教程中,我们将讨论Spring数据的J ...
- Spring Data JPA简单学习
从一个简单的 JPA 示例开始 本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示 ...
最新文章
- yyyy-MM-dd HH:mm:ss和yyyy-MM-dd hh:mm:ss
- 太尴尬!百度某程序员向领导请假去面试,却在面试一楼大厅和领导相遇,网友:缘分啊!回去一起对对面试题!...
- linux 用户行为审计update1
- [2897]F SDUTOJ
- dxf转nc代码软件_FastCAM激光版套料软件
- 西门子博图的FB块_西门子S7-300/400PLC OB-FB-FC-DB块介绍
- 如何才能学好单片机?​
- 【chromium】 渲染显示相关概念
- discuz mysql 类_discuz7 phpMysql操作类
- 简单的移动端打开pdf文件。
- Android Studio的使用(四)--生成Get、Set方法
- linux shell的sleep指定延时单位
- 梆梆加固还原DEX文件
- mongodb,Mysql,redis基础教程
- 支付宝疯起来连自己都打
- 米4用linux刷机救转,小米4变砖之后如何刷机自救?大神教你小米4线刷救砖方法...
- 关于笔记本测试的面试准备 2021-10-11
- Java生成随机数的方法
- python毕业论文参考文献格式范例_毕业论文参考文献规范格式及范例
- 沉没成本谬误(一):你是如何被“套牢”的?(二):吃饱撑着也要把东西吃完